在开发中我们有时候需要编写只包含
静态方法和静态域的类,比如一些工具类。这些工具类不希望被实例化,因为实例对它们没有任何
意义。但是,在没有显示
构造器的情况下,编译器会自动提供一个共有的、无参的缺省构造器。
那如何解决这个问题呢?由于只有类不包含显示的构造器时,编译器才会生存缺省的构造器,所以我们可以在类中提供一个私有的构造器:
class="java" name="code">
public class Utils(){
private Utils(){
throw new AssertionError();
//AssertionError不是必需的,但是它可以避免不小心在类的内部调用构造器;
}
}