您的位置:首页 > 其它

单例设计模式

2016-11-26 17:25 127 查看
单例设计模式

单例设计模式指:保证一个类仅有一个实例,并提供一个访问它的全局访问点。

1.构造方法私有化
2.声明一个本类对象
3.给外部提供一个静态方法获取对象实例

两种实现方式:
1.饿汉式
2.懒汉式

/**
*
* 单例设计模式
*
*/
public class SingletonDemo {
public static void main(String[] args){
Singleton1 s=Singleton1.getInstance();
s.show();
Singleton1 s1=Singleton1.getInstance();
System.out.println(s==s1);

Singleton2 s2=Singleton2.getInstance();
s2.show();
Singleton2 s3=Singleton2.getInstance();
System.out.println(s2==s3);
}

}
//饿汉式
public class Singleton1 {
//定义一个本类对象并实例化
private static Singleton1 s=new Singleton1();
//构造方法私有化
private Singleton1(){};

public static Singleton1 getInstance(){
return s;
}
public void show(){
System.out.println("饿汉式单例模式");
}
}
//懒汉式(多线程访问时会有安全问题)
public class Singleton2 {
//定义一个本类对象
private static Singleton2 s=null;
//构造方法私有化
private Singleton2(){};

public static Singleton2 getInstance(){
if(s==null){
s=new Singleton2();
}
return s;
}
public void show(){
System.out.println("懒汉式单例模式");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  单例模式 饿汉 懒汉