我正在阅读Effective Java
Joshua Bloch 的文章,我对 Item1 有疑问Static Factory Method
。
引用[布洛赫,第 7 页]
接口不能有静态方法,因此按照惯例,名为 Type 的接口的静态工厂方法放在名为 Types 的不可实例化类中。例如,Java Collections Framework,提供不可修改的集合、同步的集合等。几乎所有这些实现都是通过一个不可实例化的类 (java.util.Collections) 中的静态工厂方法导出的。返回对象的类都是非公开的。
好的。查看源代码时,我看到带有私有构造函数(不可实例化的类)的java.util.Collection
接口和类。java.util.Collections
而且我看到不可实例化的类 Collections 具有所有静态方法,就像 Bloch 所说的那样。但我看不到布洛赫所说的两个班级之间的联系
接口不能有静态方法,因此按照惯例,名为 Type 的接口的静态工厂方法放在名为 Types 的不可实例化类中。
任何人都可以向我指出显而易见的事情吗?
他说的时候是什么意思
返回对象的类都是非公开的
这是我获得java源代码的地方:http ://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/util/Collection.java?av=f