1. 程式人生 > >Effective-Java(Item 4)之給非例項類設定一個私有構造器

Effective-Java(Item 4)之給非例項類設定一個私有構造器

只由靜態欄位和靜態方法組成的類,像工具類,這些類不能被例項化,只通過類直接呼叫靜態方法和使用靜態欄位,就將該類的構造方法設為私有的,jdk中java.util.Arraysjava.util.Collectionsjava.lang.Math都遵循這個原則

public class Arrays {
    // Suppresses default constructor, ensuring non-instantiability.
    private Arrays() {}
}

public class Collections {
    // Suppresses default constructor, ensuring non-instantiability.
    private Collections() {}
}

public final class Math {
    /**
     * Don't let anyone instantiate this class.
     */
    private Math() {}
}