核心
通过设置构造函数为私有,且成员变量为自己的静态类实例来控制某类的实例只能为一个。
实现
class singleVV{
private static singleVV viviChou = new singleVV();//可以设置为private,也可以不用。
private singleVV(){//构造函数一定要设置为private,使得不可以通过new生成对象
System.out.println("generate");
}
public static singleVV getObj(){
return viviChou;
}
}
public class Main {
public static void main(String[] args) {
singleVV vv1 = singleVV.getObj();
singleVV vv2 = singleVV.getObj();
if (vv1.equals(vv2)){
System.out.println("vv only");
}else{
System.out.println("vv not only");
}
return;
}
}
输出
generate
vv only
作用
控制某个类只有一个类实例。
优点
控制类的实例都是同一个。
缺点
实用场景不多。