java 类的静态变量

主要是记录一个奇葩的现象,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

原文地址:https://www.cnblogs.com/hujiapeng/p/5730448.html