Enforce noninstantiability with a private constructor用一個私有的構造函數來讓一個類不可以實例化
Occasionally you'll want to write a class that is just a grouping of static methods and static fields.有時候,你想寫一個類,只是需要他提供了一系列的函數操作等,而不想讓它實例化.如:java.lang.Math or java.util.Arrays.
但是如果你不提供構造函數,編譯器會自動添加一個.
所以必須提供一個.此時,把構造函數設置為private.就可以達到目的.
一般用與工具類.
// Noninstantiable utility class
public class UtilityClass {
// Suppress default constructor for noninstantiability
private UtilityClass() {
// This constructor will never be invoked
}
... // Remainder omitted
}
由于private的構咱函數,該類不能被實例化.同時.不能被繼承了.