首页 > 代码库 > 单子模式

单子模式

所谓类的单态设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。如果我们要让类在一个虚拟机中只能产生一个对象,我们首先必须将类的构造方法的访问权限设置为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;

 

单子模式