设计模式之单例模式

单例类

public class A {
	
	private static int refCount;
	
	private static A mInstance;
	
	private int value;
	
	private A() {
		System.out.println("count:" + ++refCount);
	}
	
	public static A getInstance() {
		if (mInstance == null) {
			mInstance = new A();
		}
		return mInstance;
	}
	
	public void init(int initValue) {
		value = initValue;
	}
	
	public int getValue() {
		return value;
	}
	
	public int getRefCount() {
		return refCount;
	}
	
}

使用

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//System.out.println("hello");
		A a = A.getInstance();
		A b = A.getInstance();
		a.init(2);
		b.init(5);
		System.out.println("class A: value " + a.getValue());
		System.out.println("class A: value " + b.getValue());
		System.out.println("实例数:" + a.getRefCount());
//		B c = new B();
//		B d = new B();
//		c.init(2);
//		d.init(4);
//		//d.init(initValue);
//		System.out.println(c.getValue());
//		System.out.println(d.getValue());
		
	}

}

运行结果

count:1
class A: value 5
class A: value 5
实例数:1



阅读更多
个人分类: Java
想对作者说点什么? 我来说一句

研磨设计模式单例模式.pdf

2011年11月16日 311KB 下载

没有更多推荐了,返回首页

不良信息举报

设计模式之单例模式

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭