成员变量和局部变量的区别

  • 在类中的位置不同
    成员变量——类中方法外
    局部变量——方法内或者方法声明上
  • 在内存中的位置不同
    成员变量——堆内存
    局部变量——栈内存
    静态变量——方法区的静态区
  • 生命周期不同
    成员变量——随着对象的存在而存在,随着对象的消失而消失
    局部变量——随着方法的调用而存在,随着方法的调用完毕而消失
    静态变量——静态变量是随着类的加载而加载,随着类的消失而消失
  • 初始化值不同
    成员变量——有默认的初始化值
    局部变量——没有默认的初始化值,必须先定义,赋值,才能使用

注意:成员变量和名称可以不可和局部变量一样呢?
答案当然是可以的,但是使用的时候要注意,先找小范围,再找大范围

关于成员变量默认初始化值

public class Test {
    private int i;
    private static int j;
    public static void main(String[] args) {
        Test test = new Test();
        System.out.println(test.i+"---------"+test.j);
    }
}
输出:
0---------0

你可能感兴趣的:(成员变量和局部变量的区别)