主要是记录一个奇葩的现象,java类中的静态变量,不仅可以通过类名称直接调用,而且还可以通过类的实力对象调用,java是不存在静态类的,如果非要用静态的类那就是内部类。
类中的静态变量是存储在JVM方法区中,线程共享的。
public class HasStatic { public static int x = 100; public static void main(String args[]) { HasStatic hasStatic1 = new HasStatic(); hasStatic1.x++; HasStatic hasStatic2 = new HasStatic(); hasStatic2.x++; hasStatic1 = new HasStatic(); hasStatic1.x++; HasStatic.x--; System.out.println("x=" + x); } }
结果是102
时间: 2024-12-23 12:32:01