不需要实例化的类:
java.lang.Math or java.util.Arrays:将一些相关的方法,放到一个类里
java.util.Collections:返回的对象实现了共同的接口
抽象类不合适:
1.抽象类可以被继承,子类可以实例化,而且,抽象类让人觉得就是用来继承的;
2.有私有构造器
// Noninstantiable utility class
public class UtilityClass {
// Suppress default constructor for noninstantiability
private UtilityClass() {
throw new AssertionError();
}
... // Remainder omitted
}
缺点:
不能被继承