单例模式(Singleton)保证一个类仅有一个实例,并提供一个访问它的全局访问点。
实现单例模式的一个最好的方法就是让类自身负责保存它的唯一实例。这个类可以保证没有其他实例可以创建,并且它可以提供一个访问该实例的方法。
单例模式具有一下特点:
- 单例类只有一个实例
- 单例类必须自己创建自己的唯一实例
- 单例类必须给所有其他对象提供这一实例
/**
* 单态设计* @author yangwenxue
*/
public class SingletonTest {
public static void main(String args[]){
//不管外部声明了多少个对象,最终结果都是通过getInstance取得对象,也就是说只用只产生一个对象。
Singleton s1=Singleton.getInstance();
Singleton s2=Singleton.getInstance();
Singleton s3=Singleton.getInstance();
s1.print();
s2.print();
s3.print();
System.out.println("不管外部声明了多少个对象,最终结果都是通过getInstance取得对象,也就是说只用只产生一个对象.");
}
}
class Singleton{
int i=0;
private static Singleton instance=new Singleton();//内部实例化,并声明为static且封装
public static Singleton getInstance(){//通过静态方法取得instance
return instance;
}
private Singleton(){//构造方法私有化,不能在外部实例化
i++;
}
public void print(){
System.out.println("当前单态设计属于第"+i+"次实例化时创建...");
}
}
版权声明:本文为博主原创文章,未经博主允许不得转载。