import sun.security.jca.GetInstance;
public class Singleton {
private Singleton() {}
private static Singleton single=null;
//静态工厂方法
public static Singleton getInstance() {
if (single == null) {
single = new Singleton();
}
return single;
}
public static synchronized Singleton getInstance2() {
if (single == null) {
single = new Singleton();
}
return single;
}
public static Singleton getInstance3() {
if (single == null) {
synchronized (Singleton.class) {
if (single == null) {
single = new Singleton();
}
}
}
return single;
}
public static void main(String[] args) {
//输出的三个值都是一致的,说明就是单例模式
Singleton singleton=Singleton.getInstance2();
System.out.println(singleton);
Singleton singleton2=Singleton.getInstance();
System.out.println(singleton2);
Singleton singleton3=Singleton.getInstance3();
System.out.println(singleton3);
}
}
Java 单例模式
最新推荐文章于 2024-09-18 18:29:48 发布