单例设计模式
程序员文章站
2024-01-20 11:21:16
...
在某些场合中,一个类对外提供一个且只提供一个对象时,这样的类叫做单例类。编写单例类的模式/套路叫做单例设计模式,是编程经验的总结
实现流程
a.私有化构造方法,使用private关键字修饰。
b.提供本类的引用作为成员变量,并使用private和static共同修饰。
c.提供公有的get成员变量方法用于将本类对象返回出去。
编程实现Singleton类,要求该类对外能得到且只能得到一个对象
1. 饿汉式
public class Singleton{
//2.提供一个本类的引用作为本类的成员变量,并初始化
private static Singleton sin = new Singleton();
//1.私有化构造方法,使用private关键字修饰,只能在本类中使用
private Singleton(){}
//3.提供公有的get成员变量方法,用于将创建好的对象返回出去
public static Singleton getInstance(){
return sin;
}
}
2. 懒汉式
public class Singleton{
private static Singleton sin = null; //懒汉式
private Singleton(){}
public static Singleton getInstance(){
if(sin == null){
sin = new Singleton();
}
return sin;
}
}
对Singleton类的测试
public class TestSingleton{
public static void main(String[] args){
//Singleton s1 = new Singleton();
//Singleton s2 = new Singleton();
//System.out.println(s1 == s2); //false
Singleton s1 = Singleton.getInstance();
Singleton s2 = Singleton.getInstance();
System.out.println(s1 == s2); //true
}
}
上一篇: 网站优化中怎么写好网站标题
下一篇: 设计模式之——简单的工厂模式