码迷,mamicode.com
首页 > 其他好文 > 详细

单例设计模式

时间:2016-11-27 00:26:29      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:单例模式   饿汉   懒汉   

单例设计模式


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


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("懒汉式单例模式");
	}
}


单例设计模式

标签:单例模式   饿汉   懒汉   

原文地址:http://12170190.blog.51cto.com/12160190/1876886

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!