A class can be made noninstantiable by including a private constructor.
// Noninstantiable utility class
public class UtilityClass {
// Suppress default constructor for noninstantiability
private UtilityClass() {
throw new AssertionError();
}
... // Remainder omitted
}
Advantage:
This explicitly prevents the user to instantiate the class.
Disadvantage:
The class cannot be subclassed.
Effective Java 04 Enforce noninstantiability with a private constructor,布布扣,bubuko.com
Effective Java 04 Enforce noninstantiability with a private constructor
原文:http://www.cnblogs.com/haokaibo/p/3570407.html