【发布时间】:2018-04-17 11:13:45
【问题描述】:
我是 java 新手,我试图理解为什么 a 没有增加,即使 a++ 运行 3 次但只增加了一次。
为什么另外 2 个实例的行为与第一个实例不同,这是什么原理?
https://www.tutorialspoint.com/tpcg.php?p=Y0VNTH
public class ClassicSingleton {
private int a = 0;
static int b = 0;
private static ClassicSingleton instance = null;
private ClassicSingleton() {
a++;
System.out.println(a);
System.out.println("ClassicSingleton() called");
}
public static ClassicSingleton getInstance() {
b++;
System.out.println("b:"+b);
instance = new ClassicSingleton();
return instance;
}
public static void main(String[] args) {
ClassicSingleton tmp = ClassicSingleton.getInstance( );
ClassicSingleton tmp2 = ClassicSingleton.getInstance( );
ClassicSingleton tmp3 = ClassicSingleton.getInstance( );
}
}
【问题讨论】:
标签: java class static-members