单例模式
(singleton):保证一个类仅有一个实例,并提供一个访
问它的全局访问点。
单例模式要点:
某个类只能有一个实例;
它必须自行创建这个示例;
必须自行向整个系统提供这个实例。
单例模式实现:
1、拥有一个私有构造器;
2、提供一个自身静态私有的成员变量;
3、提供一个公有的静态公有的方法。
饿汉模式
private static Singleton instance = new Singleton();
private Singleton() {
}
public static Singleton getInstance() {
return instance;
}
懒汉模式
private static Singleton instance;
private Singleton() {
}
public static Singleton getInstance() {
if(instance == null) {
instance = new Singleton();
}
return instance;
}
代码演示
//Singleton类
public class Singleton {
//在自己内部定义自己的一个实例,只供内部调用
private static Singleton instance = new Singleton();
private Singleton() {
}
//在这里提供了一个供外部访问本class的静态方法,可以直接访问
public static Singleton getInstance() {
return instance;
}
//测试方法
public void test() {
System.out.println("Hello World 单例");
}
}
//测试类
public class SingletonTest {
public static void main(String[] args) {
//获取对象
Singleton s = Singleton.getInstance();
s.test();
}
}