单例模式:采用单例模式创建的类每次只能产生一个实例对象;
设计思路:①将构造器私有化,防止外部调用产生实例;
②定义一个私有的静态属性用于实例化对象;
③定义一个静态方法,该方法内返回②中已被实例化的静态私有属性;
④外部类通过 类.静态方法 来获取去需要进行实例化的类对象,这样不管怎样调用每次都只能产生一个实例化对象。
package disignmodel;
public class Singleton {
// 1.私有化构造器
private Singleton() {
}
// 2.定义私有的静态属性并实例化
private static Singleton singleton = new Singleton();
// 3.定义静态方法,在方法内部返回实例化对象
public static Singleton getInstace() {
// 返回实例化对象
return singleton;
}
public void print(){
System.out.println("This is Singleton!!");
}
}
/**
* 单例模式的测试方法.
*/
@Test
public void testSingleton() {
Singleton s1=Singleton.getInstace();
Singleton s2=Singleton.getInstace();
s1.print();
s2.print();
}
运行结果: