Почему конструктор enum является частным?
Почему конструктор enum является частным?

Видео: Почему конструктор enum является частным?

Видео: Почему конструктор enum является частным?
Видео: Enum java разбираем на примере. Добавляем конструктов и value / enum java 2024, Май
Anonim

На самом деле у вас не может быть публичного конструктор перечисления . Ты нуждаешься в этом конструктор быть частный , потому что перечисляет определить конечный набор значений (например, EN_US, EN_UK, FR_FR, FR_BE). Если конструктор были ли публичные люди потенциально могли создавать больше значений (например, недопустимые / необъявленные значения, такие как XX_KK и т. д.).

Что касается этого, может ли enum иметь конструктор?

Это потому что перечислить является Java содержит фиксированные постоянные значения. Итак, нет смысла иметь общедоступные или защищенные конструктор поскольку вы не можете создать экземпляр перечислить . Также обратите внимание, что внутри перечислить преобразуется в класс, как показано ниже. Как мы жестяная банка не создаю перечислить объекты явно поэтому мы жестяная банка не призываю конструктор перечисления напрямую.

Кроме того, в чем разница между конструктором перечисления и конструктором обычного класса? Чтобы ответить на вопрос: по сути, нет разница между два подхода. Тем не мение, перечислить construct предоставляет вам некоторые дополнительные вспомогательные методы, такие как values (), valueOf () и т. д., которые вам придется написать самостоятельно с помощью класс -с-частным- конструктор подход.

Кроме того, какова цель перечислений?

В перечислить используется для объявления списка именованных целочисленных констант. Его можно определить с помощью перечислить ключевое слово непосредственно внутри пространства имен, класса или структуры. В перечислить используется для присвоения имени каждой константе, чтобы на целое число константы можно было ссылаться по ее имени. Пример: перечислить.

Можно ли создать экземпляры перечислений?

Перечисления не поддерживает общедоступные конструкторы и, следовательно, не может быть создан . Перечисления для случаев, когда у вас есть фиксированный набор связанных констант. Ровно один экземпляр буду создаваться для каждого перечислить постоянный.

Рекомендуемые: