一:单例模式简介
•
单例模式,又名单态模式, Singleton。
•
限定某一个类在整个程序运行过程中,只能保留
一个实例对象在内存空间。
•
单例模式是GoF的23种设计模式(Design Pattern)中
经典的一种,属于创建型模式类型。
•
单例模式:保证一个类有且只有一个对象
–
采用static 来共享对象实例
–
采用private 构造函数,防止外界new操作
•单例模式保证一个类在内存空间中只有一个对象
二:单例模式设计举例->Singleton例子
public class Singleton {
private static Singleton obj=new Singleton("abc");//确保一个类只有一个对象
private String content;
private Singleton(String content){
this.content=content;
}
public String getContent(){
return content;
}
public void setContent(String content){
this.content=content;
}
public static Singleton getInstance(){//静态方法调用静态对象
return obj;
}
public static void main(String[] args) {
Singleton obj1=Singleton.getInstance();
System.out.println(obj1.getContent());
Singleton obj2=Singleton.getInstance();//类直接调用静态方法
obj2.setContent("def");//obj1的content也为"def"
System.out.println(obj1.getContent());//def
System.out.println(obj1==obj2);//true
}
}
输出结果:
注:本文参考学习了华东师范大学 陈良育教授 的mooc课程之java核心技术基础篇。
转载请注明出处。