`
zhengjiong
  • 浏览: 69120 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

单例模式

    博客分类:
  • Java
 
阅读更多

 

package com.zj.exercise;

/**
 * 功能:单例模式
 * @author zhengjiong
 * time:2011-9-11
 */
public class SingletonTest {
	
	public static void main(String[] args){
		
		Singleton s1 = Singleton.getInstance();
		Singleton s2 = Singleton.getInstance();
		
		System.out.println(s1==s2 ? "同一个对象" : "不同的对象");
	}
	
}


class Singleton {
	
	//在类的内部new出该类的实例
	private static Singleton singleton = new Singleton();  
	
	private Singleton(){
		//防止被new出
	}
	
	public static Singleton getInstance(){
		return singleton;
	}
}

//第二种方式:
//这种方式可能在多线程的时候就不是一个实例了
class Singleton {
	
	//在类的内部new出该类的实例
	private static Singleton singleton; 
	
	private Singleton(){
		//防止被new出
	}
	
	public static Singleton getInstance(){
		if(singleton!=null){
			singleton = new Singleton();
		}
		return singleton;
	}
}
 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics