2 года назад
Java 84. Можем ли мы переопределить метод toString() для Enum?
Да, вы можете переопределить метод toString() для Enum в Java. По умолчанию вызов toString() для экземпляра Enum возвращает значение его поля имени. Однако вы можете определить собственный метод toString() для класса Enum, чтобы возвращать другое строковое представление экземпляра. Вот пример: public enum Day { MONDAY("Monday"), TUESDAY("Tuesday"), WEDNESDAY("Wednesday"), THURSDAY("Thursday"), FRIDAY("Friday"), SATURDAY("Saturday"), SUNDAY("Sunday"); private String displayName; private Day(String displayName) { this...
2 года назад
enum в Java: очевидное - невероятное
Всем привет! Хочу рассказать про ряд неочевидных особенностей enum в Java. Поехали! 1) enum - это полноценный класс, у него могут быть поля, методы, обычные и статические 2) любой enum неявно (!) расширяет абстрактный класс Enum, поэтому наследовать enum от кого-то другого нельзя. Например, один enum от другого. При этом добавить final для enum нельзя, т.к. он уже фактически final) 3) зато enum может реализовывать интерфейсы, как и любой другой класс в Java 4) самое интересное - каждое значение enum является наследником самого enum. Т.е. можно объявить метод show в enum Direction и переопределить его Direction...