Из Эффективная Java (пункт 1: Рассмотрим статические factory методы вместо конструкторов):
Класс объекта, возвращаемого статическим методом factory, даже не существует в то время, когда записывается класс, содержащий метод. Такой гибкий статический factoryметоды составляют основу инфраструктур поставщика услуг, таких как база данных Java API подключения (JDBC). Рамка поставщика услуг - это система, в которой несколько поставщиков услуг внедряют сервис, и система выполняет реализации доступный своим клиентам, отделяющий их от реализаций.
Я специально не понимаю, почему в книге говорится, что класс объекта, возвращаемого статическим методом factory, даже не существует в момент написания класса, содержащего метод. Может ли кто-нибудь объяснить использование JDBC в качестве примера.