Я читаю Effective Java
Джошуа Блоха, и у меня вопрос о Item1 Static Factory Method
.
Цитата [Bloch, p.7]
Интерфейсы не могут иметь статические методы, поэтому по соглашению, статический factoryметоды для интерфейса с именем Type помещаются в небезопасный класс названных типов. Например, Java Рамки коллекций, немодифицируемые коллекции, синхронизированы коллекций и т.п. Почти все этих реализаций являются экспортными с помощью статических методов factory в одном неинтересный класс (java.util.Collections). Классы всех возвращенных объектов непубличный.
Ok. Когда смотрю на исходный код, я вижу java.util.Collection
интерфейс и java.util.Collections
класс с частным конструктором (не-экземпляр класса). и я вижу, что у неинтуитивных классов Collections есть все статические методы, точно так же, как сказал Блох. Но я не вижу связи между двумя классами, как сказал Блох.
Интерфейсы не могут иметь статические методы, поэтому по соглашению статические методы factory для интерфейса с именем Type помещаются в небезопасный класс с именем Типы.
-
Может ли кто-нибудь указать на очевидное для меня?
-
что это значит, когда он сказал
Классы возвращаемых объектов не являются общедоступными
Здесь я получаю java-источники: http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/util/Collection.java?av=f