classtest{ // 定义类成员变量 privatestatic test obj; // 隐藏构造器,避免实例被调用 privatetest(){ } // 暴露一个static方法用于创建实例 publicstatic test setName(){ // 判断是否已经创建过了实例 if (obj == null){ testobj=newtest(); } // 将实例返回 return obj; } }
调用时
1 2 3 4 5 6 7 8 9 10
public class 单例模式 { publicstaticvoidmain(String[] args){ // 不管怎么创建都是错的 // test a = new test(); testa= test.setName(); testb= test.setName(); System.out.println(a == b); // 若返回true,说明两个实例引用同一个地址 } }