Викторина по перечислениям enum в Java

В Java enum (сокращение от “enumeration”), или перечисление, представляет собой отдельный тип, состоящий из фиксированного набора констант. С его помощью можно определить и сгруппировать коллекцию связанных именованных значений, что позволяет разработчикам устанавливать ограничения и повышать безопасность типов в своем коде. Насколько хорошо вы знакомы с enum в Java? Давайте узнаем это с помощью викторины для начинающих!

За каждым вопросом следует правильный ответ и объяснение, которое поможет закрепить ваши знания.

Для компиляции кода используйте свою IDE или онлайн Java Compiler IDE или любой другой аналог.

Ищете работу Junior QA? Тогда вам в наш телеграм канал QA Вакансии. 
Каждую неделю 7 лучших вакансий с телеграм контактом HR компании. 

1. Что из перечисленного лучше всего описывает enum в Java?

a) Особый вид интерфейса
b) Тип метода
c) Способ объявления массивов
d) Специальный класс, представляющий группу констант

Ответ:
d) Специальный класс, представляющий группу констант

Объяснение:
Enums – это специальные классы в Java, используемые для определения коллекций констант.

2. Как определить enum, представляющий дни недели?

a) enum DAYS {MON, TUE, WED, THU, FRI, SAT, SUN}
b) enum DAYS [MON, TUE, WED, THU, FRI, SAT, SUN]
c) enum Days = {MON, TUE, WED, THU, FRI, SAT, SUN}
d) enum DAYS

Ответ:
a) enum DAYS {MON, TUE, WED, THU, FRI, SAT, SUN}

Объяснение:
Перечисления определяются с помощью ключевого слова enum, за которым следует имя перечисления и константы, заключенные в фигурные скобки.

3. Какой метод можно использовать для получения порядкового значения константы enum?

a) getValue()
b) getOrdinal()
c) getOrder()
d) ordinal()

Ответ:
d) ordinal()

Объяснение:
Метод ordinal() в enum возвращает порядковое значение (позицию) константы перечисления, начиная с 0.

4. Может ли enum иметь конструктор?

a) Да, и он может быть публичным
b) Да, но он всегда должен быть приватным
c) Нет, у enum не может быть конструкторов
d) Да, но он должен быть защищенным

Ответ:
b) Да, но он всегда должен быть приватным

Объяснение:
У перечислений могут быть конструкторы, но они всегда приватны. Это делается для того, чтобы предотвратить создание новых экземпляров enum.

5. Можно ли переопределить метод toString() в enum? 

a) Да
b) Нет
с) Только в абстрактных enum
d) Только если у enum есть атрибуты

Ответ:
a) Да

Объяснение:
Как и в любом другом классе Java, вы можете переопределить метод toString() в перечислении, чтобы создать собственное строковое представление константы перечисления.

6. Какой метод можно использовать для получения константы enum по ее строковому имени?

a) Enum.valueOf()
b) Enum.getByName()
c) Enum.get()
d) Enum.fromString()

Ответ:
a) Enum.valueOf()

Объяснение:
Статический метод valueOf() в enum может быть использован для получения константы enum по ее строковому имени.

7. Может ли enum расширять другие классы в Java?

a) Да
b) Нет
с) Только абстрактные классы
d) Только другие enum

Ответ:
b) Нет

Объяснение:
Enum не может расширять другие классы в Java, поскольку они неявно расширяют класс java.lang.Enum. Однако они могут реализовывать интерфейсы.

8. Что произойдет, если попытаться вывести константу enum напрямую?

a) Выдаст ошибку
b) Выведется порядковое значение
c) Выведется имя константы
d) Выведется полное имя класса константы enum

Ответ:
c) Выведется имя константы

Объяснение:
Метод toString(), используемый по умолчанию в enum, возвращает имя константы. Поэтому при прямой печати константы enum отображается ее имя.

9. Можно ли объявить enum внутри класса?

а) Да, и он всегда статичен
b) Нет
c) Только если класс абстрактный
d) Только в основном классе

Ответ:
а) Да, и он всегда статичен

Объяснение:
Перечисление может быть объявлено внутри класса, и если это сделано таким образом, то оно неявно является статичным.

10. Какое из следующих утверждений о enum НЕ является верным? 

a) Enum могут реализовывать интерфейсы
b) Enum могут иметь атрибуты и методы
c) Enum можно инстанцировать с помощью ключевого слова new
d) Enum могут иметь конструкторы

Ответ:
c) Enum можно инстанцировать с помощью ключевого слова new

Объяснение:
Перечисления нельзя инстанцировать с помощью ключевого слова new. Константы, определенные в перечислении, являются единственными экземплярами, которые могут существовать для данного типа перечисления.

Enum – это лаконичный и типобезопасный способ представления фиксированного набора связанных констант в Java. Enum универсальны и могут использоваться в самых разных случаях, от простых коллекций значений до сложных шаблонов типов. Если этот тест показался вам полезным, продолжайте углубляться в возможности Java и улучшать свои знания. Счастливого кодинга!

Перевод статьи «Java Enums Quiz – MCQ – Multiple Choice Questions».

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *