你这么理解其实是可以的,因为我们绝大多数遇到的成员变量和局部变量都是这个形式。那么我说一说,这两个变量本质的区别。
1.在Java中,局部变量必须初始化;成员变量可以不用初始化,系统自动初始化。
2.正如那你所描述,成员变量在类中,局部变量在方法中。
3.声明成员变量时可以不初始化但是被final修饰且没有static的必须显式赋值,而局部变量必须手动初始化。
4.成员变量可以被public,protect,private,static等修饰符修饰,而局部变量不能被控制修饰符及static修饰;但两者都可以定义成final型。
5.成员变量存储在堆,局部变量存储在栈。 |