Java не позволяет создавать класс, расширяющий тип enum
. Поэтому сами перечисления всегда являются окончательными, поэтому использование ключевого слова final
является излишним.
Конечно, в некотором смысле, enum
не являются окончательными, потому что вы можете определить анонимный подкласс для каждого поля внутри дескриптора перечисления. Но было бы бессмысленно использовать ключевое слово final
для предотвращения этих типов описаний, потому что люди должны были бы создавать эти подклассы в одном и том же файле .java, и любой, у кого есть на это право, мог бы так же легко удалить final
ключевое слово. Нет никакого риска, что кто-то добавит ваше перечисление в какой-то другой пакет.