单例模式(Singleton)
定义:
保证一个类只有一个实例,并提供一个访问它的全局访问点。
特点:
只有一个实例,有懒汉式和饿汉式。
示例:
懒汉式
实例对象在首次被引用时,才实例化;
/**
* 单例模式测试类:懒汉模式
*/
public class SingletonTest1 {
private static SingletonTest1 test1;
private SingletonTest1() {
}
//在引用时再判断创建实例对象
public static synchronized SingletonTest1 getInstance() {
if (test1 == null) {
test1 = new SingletonTest1();
}
return test1;
}
}
饿汉式
类加载时便实例
/**
* 单例模式饿汉式,
*/
public class SingletonTest2 {
//类加载时便创建实例
private static final SingletonTest2 test2 = new SingletonTest2();
private SingletonTest2() {
}
public static SingletonTest2 getInstance() {
return test2;
}
}