public class MainTest {
public static void main(String[] args) {
Singleton obj = Singleton.getInstance();
System.out.println("obj.counter1==" + obj.counter1);
System.out.println("obj.counter2==" + obj.counter2);
}
}
class Singleton {
public static int counter1;
public static int counter2 = 0;
private static Singleton obj = new Singleton();
private Singleton() {
counter1++;
counter2++;
}
public static Singleton getInstance() {
return obj;
}
}
他的结果的1和1
public class MainTest {
public static void main(String[] args) {
Singleton obj = Singleton.getInstance();
System.out.println("obj.counter1==" + obj.counter1);
System.out.println("obj.counter2==" + obj.counter2);
}
}
class Singleton {
private static Singleton obj = new Singleton();
public static int counter1;
public static int counter2 = 0;
private Singleton() {
counter1++;
counter2++;
}
public static Singleton getInstance() {
return obj;
}
}
而他的结果是1和0,为什么counter2++没有++;
他们的结果为什么是那样啊???
public static void main(String[] args) {
Singleton obj = Singleton.getInstance();
System.out.println("obj.counter1==" + obj.counter1);
System.out.println("obj.counter2==" + obj.counter2);
}
}
class Singleton {
public static int counter1;
public static int counter2 = 0;
private static Singleton obj = new Singleton();
private Singleton() {
counter1++;
counter2++;
}
public static Singleton getInstance() {
return obj;
}
}
他的结果的1和1
public class MainTest {
public static void main(String[] args) {
Singleton obj = Singleton.getInstance();
System.out.println("obj.counter1==" + obj.counter1);
System.out.println("obj.counter2==" + obj.counter2);
}
}
class Singleton {
private static Singleton obj = new Singleton();
public static int counter1;
public static int counter2 = 0;
private Singleton() {
counter1++;
counter2++;
}
public static Singleton getInstance() {
return obj;
}
}
而他的结果是1和0,为什么counter2++没有++;
他们的结果为什么是那样啊???
本文通过两个Java示例探讨了单例模式中静态变量和静态方法的使用方式及其对实例计数器的影响。分析了为何在某些情况下实例计数器的值会有所不同。
9992

被折叠的 条评论
为什么被折叠?



