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.