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,我们当前设计的一个简单的单例模式已经成功了