<Java设计模式>:单例模式=
设计模式为我们的问题提供了一种更好的解决问题的方法。任何面向对象的语言都可以实现设计模式,这是通用的。
设计模式大量的依靠多态实现。
经典的设计模式有23个。
单例模式(singleton):表示一个类只会生成唯一的一个对象。
第一种实现方式(推荐,适应多线程环境):
package cn.edu.bupt.designpattern;
public class SingletonTest {
public static void main(String[] args) {
Singleton st1 = Singleton.getInstance();
Singleton st2 = Singleton.getInstance();
System.out.println(st1 == st2); //output "true"
}
}
class Singleton {
private static final Singleton singleton = new Singleton();
private Singleton(){
}
public static Singleton getInstance() {
return singleton;
}
}
第二种实现方式:(在多线程环境下可能会生成多个实例)
package cn.edu.bupt.designpattern;
public class SingletonTest {
public static void main(String[] args) {
Singleton st1 = Singleton.getInstance();
Singleton st2 = Singleton.getInstance();
System.out.println(st1 == st2); //output "true"
}
}
class Singleton {
private static Singleton singleton;
private Singleton(){
}
public static Singleton getInstance() {
if(singleton == null) { //add judgement
singleton = new Singleton();
}
return singleton;
}
}
浙公网安备 33010602011771号