静态变量、实例变量、局部变量的区别?

参考解答

  • 静态变量也称为类变量,使用static修饰;它不依赖于某个对象,可通过类名直接访问,也可通过实例对象访问;静态变量属于全类公有,内存中只有一份;静态变量不初始化也有默认值,例:
class A{
    static int I; // 默认值为0
}

class Test{
    public static void main(String[] args) {
        A.I++;         // 无需创建对象,直接可以使用: 执行后I=1
        new A().I++;   // 也可以通过对象访问:执行后I=2
        new A().I++;   // 它是全类共有的,只有一份,多次修改影响的是同一个变量:执行后 I=3
    }
}
  • 实例变量也称之为成员变量;它必须依存于某一实例,只能通过实例对象才能访问;实例变量是对象私有的,一个对象的实例变量改变,不影响其他对象;实例变量不初始化也有默认值,例:
class B{
    int i; // 默认值为0
}
class Test{
    public static void main(String[] args) {
        B b1 = new B();
        B b2 = new B();
        b1.i++; // 修改的是b1的i变量,执行后b1.i = 1  b2.i = 0
    }
}
  • 局部变量,只能用于方法内部,使用之前必须初始化,在方法执行时才被创建
class Test{
    public static void main(String[] args) {
        int i = 0;
        System.out.println(i);
    }
}

results matching ""

    No results matching ""