package org.singletonBean;
public class PrivateBean {
public static PrivateBean singletonBean = new PrivateBean();
private PrivateBean(){
}
}
可以看到上面演示了一个简单的单例模式的代码设计,通过私有构造器+静态属性,对一个类的实例进行了全局访问限制,来确保项目中这个类对应的实例只会在堆内存中开辟一块空间
下面是main的方法调用演示
package org.singletonBean;
public class Test {
public static void main(String[] args) {
PrivateBean p1 = PrivateBean.singletonBean;
System.out.println(p1);
PrivateBean p2 = PrivateBean.singletonBean;
System.out.println(p2);
}
}
打印结果
org.singletonBean.PrivateBean@340f438e
org.singletonBean.PrivateBean@340f438e
可以看到两份内存地址是相同的,并且由于static,我们当前设计的一个简单的单例模式已经成功了