局部变量和成员变量的区别
定义的位置不同
局部变量:方法的内部;
成员变量:方法的外部,直接写在类中。
作用范围不同
局部变量:只能在方法中使用;
成员变量:整个类都通用;
默认值不同
局部变量:没有默认值,需要手动赋值;
成员变量:有默认值,规则和数组一样;
内存位置不同
局部变量:位于栈内存;
成员变量:位于堆内存;
生命周期不同
局部变量:进栈诞生,出栈消失;
成员变量:对象创建诞生,对象被垃圾回收而下消失;
public class Demo05 {
String name;
public void methodA() {
int a = 20;
System.out.println(a);
System.out.println(name);
}
public void methodB() {
int age;
System.out.println(age);//error,没赋值不能用
System.out.println(a);//error;
System.out.println(name);
}
}