1. Singleton模式
单例模式,控制在该程序中某个对象只会存在一个。
这里只用了最简单的一种单例模式,不进行改进,变体和优化。目的只为说明设计模式的思想,而不去研究模式的具体生成(其他相关工作我会在接下来要做的高效JAVA和多线程中进行进一步研究。)
1.1 Singleton模式类图
登场的角色
- Singleton(单例类)
返回该类的唯一实例。
1.2 实例程序
类一览表:
名字 | 说明 |
---|---|
Singleton | 单例类 |
Main | 测试类 |
uml类图
Singleton类
package xin.ajay.singleton.impl;
public class Singelton {
private static Singelton singelton = new Singelton();
private Singelton(){
System.out.println("生成一个实例");
}
public static Singelton getSingelton() {
return singelton;
}
}
Main类
package xin.ajay.singleton.impl;
public class Main {
public static void main(String[] args) {
Singelton obj1 = Singelton.getSingelton();
Singelton obj2 =Singelton.getSingelton();
System.out.println(obj1);
System.out.println(obj2);
}
}
控制台显示结果
生成一个实例
xin.ajay.singleton.impl.Singelton@1b6d3586
xin.ajay.singleton.impl.Singelton@1b6d3586
鸣谢:
GoF《设计模式》和结城浩的《图解设计模式》