62,614
社区成员
发帖
与我相关
我的任务
分享
class Singleton {
private static Singleton s = new Singleton();
public static int a;
public static int b = 0;
private Singleton() {
a++;
b++;
}
public static synchronized Singleton getInstance() {
return s;
}
}
public class Test {
public static void main(String[] args) {
Singleton s = Singleton.getInstance();
System.out.println("Singleton.a=" + Singleton.a);
System.out.println("Singleton.b=" + Singleton.b);
}
}
package com.pattern;
class Singleton {
// private static Singleton s = new Singleton();
public static int a;
public static int b = 0;
private static Singleton s = new Singleton();
private Singleton() {
System.out.println("a= "+a+" b= "+b);
a++;
b++;
System.out.println("a= "+a+" b= "+b);
}
public static synchronized Singleton getInstance() {
return s;
}
}
public class Test {
public static void main(String[] args) {
Singleton s = Singleton.getInstance();
System.out.println("Singleton.a=" + Singleton.a);
System.out.println("Singleton.b=" + Singleton.b);
}
}
class Singleton {
private static Singleton s = new Singleton();
public static int a = printf("a");
public static int b = printf("b");
private static int printf(String str){
System.out.println(str);
return 0;
}
private Singleton() {
System.out.println("constructor");
a++;
b++;
}
public static synchronized Singleton getInstance() {
return s;
}
}
public class Test {
public static void main(String[] args) {
Singleton s = Singleton.getInstance();
System.out.println("Singleton.a=" + Singleton.a);
System.out.println("Singleton.b=" + Singleton.b);
}
}
输出结果: