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

私有化构造函数的作用

时间:2014-08-22 12:58:48      阅读:243      评论:0      收藏:0      [点我收藏+]

标签:blog   java   2014   log   new   sp   on   ef   应用   

例如

public class DiskUtil {
  private DiskUtil() {  }

  public static FUNC(){}

}

这样的类,往往提供一些静态的函数来生成该类的实例,只要这个类有公开的属性、方法,得到实例引用的一方还是可以调用的,一个例子是singleton。


外面调用只能调用DiskUtil 的静态函数Func,而不能A a = new A();私有构造函数只能在函数内部调用,外部不能实例化,所以私有构造函数可以防止该类在外部被实例化


常见的应用是工具类和单例模式

package test.reflect;
public class Singleton {
	private static Singleton s= null;
	
	private Singleton() {
		
	}
	
	public static Singleton getInstance() {
		if (s == null) {
			synchronized (Singleton.class) {
				if (s == null) {
					s = new Singleton();
				}
			}
		}
		return s;
	}
}


私有化构造函数的作用

标签:blog   java   2014   log   new   sp   on   ef   应用   

原文地址:http://blog.csdn.net/liuwei063608/article/details/38753277

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