二者区别
1、在类中位置不同
成员变量:在类中方法外
局部变量:在方法体内或在代码块中
2、在内存中位置不同
成员变量:在堆内存中
局部变量:在栈内存中
3、生命周期不同
成员变量:跟随对象
局部变量:跟随方法或代码块
4、初始化策略不同
成员变量:对象创建时默认初始化
局部变量:没有默认初始化动作,必须在手动赋值
5、访问权限不同
成员变量:可用四大访问修饰符,访问权限取决于修饰符
局部变量:仅可在方体体内或代码内访问,不需要也不能有访问修饰符。
(另外局部变量还不能使用static修饰)
{
static int id = 7;
}
编译报错:
非法的表达式开始
static int id = 7;