一 静态变量
- 静态变量也叫类变量。
- 静态变量和类关联在一起,随着类的加载而加载,他们成为类数据在逻辑上的一部分。
- 类变量被类的所有实例共享,即使没有类实例,也可以访问它。
二 全局常量
全局常量就是使用 static final 进行修饰的常量。
类变量被声明为 final 后就变成了全局常量。 和类变量是完全不一样的,每个全局常量在编译的时候就会被分配。
代码
class Order {
public static int count = 1;
public static final int number = 2;
}
反编译后解析的结果如下。
三 实战
1 代码
/**
* non-final的类变量
*/
public class MethodAreaTest {
public static void main(String[] args) {
Order order = null;
order.hello();
System.out.println(order.count);
}
}
class Order {
public static int count = 1;
public static final int number = 2;
public static void hello() {
System.out.println("hello!");
}
}
2 测试
hello!
1
3 说明
即使把 order 设置为 null,也不会出现空指针异常。
类变量被类的所有实例共享,即使没有类实例,也可以访问它。
版权声明:本文为chengqiuming原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。