单态设计模式的核心是将构造器设为私有。
贴下代码:
public class A {
private static A a = new A();
private A() {// 将构造器设为私有
}
public static A getA() {
return a;
}
}
public class TestA {
public static void main(String[] args) {
A a1 = A.getA();
A a2 = A.getA();
System.out.println(a1);
System.out.println(a2);
}
}
运行结果:
SingleState.A@c17164
SingleState.A@c17164
如上面所示,a1和a2的内存空间是一样的