单例设计模式
public class Test {
private static Test example;//私有化一个静态变量,这个静态变量类型为Test。
//也就是可以定义了一个可以存储Test对象的东西
private Test(){}//将构造方法私有化,使用private私有化后只能在类中new一个对象
public static Test getInstance() {//定义了一个返回值为Test对象的静态函数
if(example == null)
example = new Test();//创建一个对象并赋给example
return example;//返回一个对象
}
}
- 第二行定义了一个变量,变量类型是Test。可以理解为
example
是一个专门存储Test对象的东西 - 第五行将Test的构造方法私有化,在类外面就无法
new
一个新对象的(最常见创造对象的方法失效) - 在第二行将example定义出来后它的默认值是null,所以在第八行第一次调用example时满足
if
条件。当第二次调用时由于example已经被赋值不满足if
条件所以无法创造新对象。故这个类只能有一个对象