局部变量与成员变量的不同 1,定义的位置不同(重要) 局部变量:在方法的内部 成员变量:在方法外部,直接写在类当中 2,作用范围不一样 局部变量:只有在方法体内才有效,出了方法就不能在用了 成员变量:整个类都可以用。 3,默认还是不一样的 局部变量:没有默认值,使用时需手动赋值。 成员变量:如果没有赋值,会使用默认值,规则和各种类型数据一样 4,内存位置不一样(了解) 局部变量,位于栈内存当中。 成员变量:位于堆内存当中。 5,生命周期不一样 局部变量:随方法进栈而诞生,随访发出栈而消失。 成员变量:随方法创建而诞生,随之对象垃圾回收(java的垃圾回收机制) 而消失。
试验一下:
String name;
public void main() {
int n = 30;
System.out.println(n);
System.out.println(name);
}
public void as(int as) {//方法的参数就是局部变量
System.out.println(as);//不报错是因为,方法
// 被调用时必然会被赋值的
int n;
int b = 30;
//System.out.println(n);//错误写法,
// 没有赋值无法使用
System.out.println(b);
System.out.println(name);
}