它的构造方法是private修饰的,下面是Collections的构造函数的截图,Collections的源码在jdk安装目录的src.zip,可自行翻阅:
Collections 为一个接口 没有 构造方法 不能 new 实例对象
Collections c=new ArrayList();
ArrayList 是 实现了
Collections 接口的实现类
你可以看看 接口 抽象类 这部分
这哥们就这么设计的。new就是创建一个新对象,对非抽象类,你可以new一个。用面向对象的观点解释,这就是一个确确实实存在的实例,但是抽象类,你再new还是抽象的,没意义。
只需要把构造函数私有化,就可以阻止实例生成。