package com.test.testClass; public class Test { private static Test instance = new Test(); private static int x = 0; private static int y; private Test() { x++; y++; } private static Test getInstance() { return instance; } public static void main(String[] args) { Test test = Test.getInstance(); System.out.println(Test.x); System.out.println(Test.y); } }
package com.test.testClass; public class Test { private static int x = 0; private static int y; private static Test instance = new Test(); private Test() { x++; y++; } private static Test getInstance() { return instance; } public static void main(String[] args) { Test test = Test.getInstance(); System.out.println(Test.x); System.out.println(Test.y); } }
上下两个程序输出:
上:0 ,1
下:1, 1
原理是:类的加载机制(加载,连接(验证,准备,解析),初始化)这个过程。