Collections
是一个公共类,然后我们可以调用它的隐式默认构造函数。它没有私有构造函数,这会阻止对象创建或强制使用静态工厂方法。当我实例化为new Collections()
时,我得到错误"构造函数不可见"。简而言之,为什么我们不能拥有java.util.Collections
类的实例?感谢。
答案 0 :(得分:9)
来自documentation:“此类仅包含对集合进行操作或返回集合的静态方法。”
换句话说,Collections
只是方法的集合。它的一个实例没有任何意义。它就像数学函数一样:你没有数学实例,只需使用函数。
它不是interface
,因为它有具体的方法。
答案 1 :(得分:4)
“构造函数不可见”消息的原因是构造函数是私有的(第73行),或至少根据this site。正如其他人已经说过的那样,你会对这个类的实例做什么,因为它只包含静态方法
// Suppresses default constructor, ensuring non-instantiability.
private Collections() {
}