Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗jvOpSnFm 108 of 147 menu
◀ ▶

Фабричный метод в Java

Фабричный метод - статическая функция класса, которая возвращает готовый экземпляр. Конструктор при этом делают private, чтобы снаружи нельзя было вызвать new напрямую: создание идёт только через понятное имя метода.

Класс Post выдаёт черновик и опубликованную запись разными фабричными методами:

class Post { String title; boolean published; private Post(String title, boolean published) { this.title = title; this.published = published; } static Post draft(String title) { return new Post(title, false); } static Post published(String title, String text) { return new Post(title, true); } }

Соберем черновик и готовую запись через фабрику и выведем поля:

Post draft = Post.draft("Notes"); Post live = Post.published("News", "Hello"); System.out.println(draft.title + " " + draft.published); System.out.println(live.title + " " + live.published);

Запись Post.draft("Notes") читается как именованный способ получить объект. Внутри статического метода по-прежнему доступен приватный конструктор.

Сделайте класс Employee с приватным конструктором и полем name. Добавьте статический метод intern(String name), который создаёт сотрудника с переданным именем. Выведите имя из Employee.intern("Ann").

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить