所谓类的单子(Singleton)设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类提供了一个取得其对象实例的方法。简单说,单态模式,它的目的就是不管我调用多少次产生一个对象的方法,我最后都返回一个对象,不会生成其他的对象。
Singleton类:
package com.liuqiang.model.singleton;
public class Singleton {
private static Singleton singleton;
private Singleton(){
}
public static Singleton getInstance(){
if(singleton == null){
singleton = new Singleton();
}
return singleton;
}
}
测试类:Test类:
package com.liuqiang.model.singleton;
public class Test {
public static void main(String[] args) {
Singleton singleton = Singleton.getInstance();
Singleton singleton1 = Singleton.getInstance();
System.out.println(singleton);
System.out.println(singleton1);
}
}
测试结果如下:
com.liuqiang.model.singleton.Singleton@30e79eb3
com.liuqiang.model.singleton.Singleton@30e79eb3
两个为同一个地址,证明在计算机内存里,这是同一个对象,它们的栈地址是一样的。
最后总结一下步骤:
1.首先必须将类的构造方法的访问权限设置为private,这样,就不能用new 操作符在类的外部产生类的对象了。
2.在类的内部定义并产生那个唯一的对象,并限制其访问权限为private。
3.提供给外部一个public类型的静态方法,可以获得该唯一对象。
欢迎大家一起和我进行交流,学习,欢迎大家指出不足之处,请联系QQ:497820217 备注:优快云。
本文为原创,如需要转载,请注明出处。