java代码: Collections c=new Collections();为什么编译不通过,报错

2025-04-24 08:23:19
推荐回答(4个)
回答1:

它的构造方法是private修饰的,下面是Collections的构造函数的截图,Collections的源码在jdk安装目录的src.zip,可自行翻阅:

回答2:

Collections 为一个接口 没有 构造方法 不能 new 实例对象
Collections c=new ArrayList();
ArrayList 是 实现了
Collections 接口的实现类

你可以看看 接口 抽象类 这部分

回答3:

这哥们就这么设计的。new就是创建一个新对象,对非抽象类,你可以new一个。用面向对象的观点解释,这就是一个确确实实存在的实例,但是抽象类,你再new还是抽象的,没意义。

回答4:

只需要把构造函数私有化,就可以阻止实例生成。