JAVA中成员变量和局部变量
成员变量和局部变量的区别:
1.在类中的位置不同
成员变量:在类方法外
局部变量:方法定义中或者方法声明上
2.在内存中的位置不同
成员变量:在堆内存中
局部变量:在栈内存中
3.生命周期不同
成员变量:随着对象的创建而创建,随着对象的消失而消失。
局部变量:随着方法的调用而存在,随着方法调用完毕而消失。
4.初始化值不同
成员变量:有默认初始化值。
局部变量:没有默初始化认值,必须定义,赋值然后才能使用。
注意事项:局部变量名称可以和成员变量名称一样。在方法使用的时候采用的是就近原则。
1 class Varialbe { 2 //成员变量 3 //int num = 10; 4 int num; //0 5 6 public void show() { 7 //int num2 = 20; //局部变量 8 //可能尚未初始化变量num2 9 //int num2; //没有默认值 10 int num2 = 20; 11 System.out.println(num2); 12 13 //int num = 100; 14 System.out.println(num); 15 } 16 } 17 18 19 class VariableDemo { 20 public static void main(String[] args) { 21 Varialbe v = new Varialbe(); 22 23 System.out.println(v.num); //访问成员变量 24 25 v.show(); 26 27 } 28 }