第4条:通过私有构造其强化不可实例化的能力_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 第4条:通过私有构造其强化不可实例化的能力

第4条:通过私有构造其强化不可实例化的能力

 2014/7/25 0:18:30  黑龙0110  程序员俱乐部  我要评论(0)
  • 摘要:在开发中我们有时候需要编写只包含静态方法和静态域的类,比如一些工具类。这些工具类不希望被实例化,因为实例对它们没有任何意义。但是,在没有显示构造器的情况下,编译器会自动提供一个共有的、无参的缺省构造器。那如何解决这个问题呢?由于只有类不包含显示的构造器时,编译器才会生存缺省的构造器,所以我们可以在类中提供一个私有的构造器:publicclassUtils(){privateUtils(){thrownewAssertionError();//AssertionError不是必需的
  • 标签:构造 实例 能力
    在开发中我们有时候需要编写只包含静态方法和静态域的类,比如一些工具类。这些工具类不希望被实例化,因为实例对它们没有任何意义。但是,在没有显示构造器的情况下,编译器会自动提供一个共有的、无参的缺省构造器。

    那如何解决这个问题呢?由于只有类不包含显示的构造器时,编译器才会生存缺省的构造器,所以我们可以在类中提供一个私有的构造器:
class="java" name="code">

public class Utils(){

    private Utils(){
      throw new AssertionError();
      //AssertionError不是必需的,但是它可以避免不小心在类的内部调用构造器;
     }

}


发表评论
用户名: 匿名