标签:
所谓类的单态设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。如果我们要让类在一个虚拟机中只能产生一个对象,我们首先必须将类的构造方法的访问权限设置为private,这样,就不能用new 操作符在类的外部产生类的对象了,但在类内部仍可以产生该类的对象。因为在类的外部开始还无法得到类的对象,只能调用该类的某个静态方法以返回类内部创建的对象,静态方法只能访问类中的静态成员变量,所以,指向类内部产生的该类对象的变量也必须定义成静态的。
public class Single { //1.在类的外部不能通过new的方式创建实例,所以要私有化构造器 private Single(){} //2.因为不能在外部创建实例,所以只能在类中创建实例 //为了在外部可以直接使用该实例,用static修饰 //3.不能在外部类中修改该属性,私有化该属性; //为了外部类访问该属性,提供公有的get方法 private static Single instance=new Single(); public static Single getInstance() { return instance; } }
public class TestSingle { public static void main(String[] args) { Single instance1=Single.getInstance(); Single instance2=Single.getInstance(); System.out.println(instance1==instance2); } }
结果返回 true;
标签:
原文地址:http://www.cnblogs.com/hwj-hwj/p/4190245.html