→阿童沐

財富==支撐一個人生存多長時間的能力!

导航

<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;
}
}




posted on 2012-02-18 13:26  阿童沐  阅读(108)  评论(0)    收藏  举报