为什么我们不能创建Collections类的实例(不是Collection Interface)?

时间:2012-01-01 12:45:46

标签: java collections

Collections是一个公共类,然后我们可以调用它的隐式默认构造函数。它没有私有构造函数,这会阻止对象创建或强制使用静态工厂方法。当我实例化为new Collections()时,我得到错误"构造函数不可见"。简而言之,为什么我们不能拥有java.util.Collections类的实例?感谢。

2 个答案:

答案 0 :(得分:9)

来自documentation:“此类仅包含对集合进行操作或返回集合的静态方法。”

换句话说,Collections只是方法的集合。它的一个实例没有任何意义。它就像数学函数一样:你没有数学实例,只需使用函数。

它不是interface,因为它有具体的方法。

答案 1 :(得分:4)

“构造函数不可见”消息的原因是构造函数是私有的(第73行),或至少根据this site。正如其他人已经说过的那样,你会对这个类的实例做什么,因为它只包含静态方法

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