Я наткнулся на следующий код Java.Здесь интерфейс содержит два метода, из которых только один метод реализован в перечислении.Написано, что name()
реализовано автоматически.Мой вопрос, как это возможно?Я не читал никаких правил, касающихся автоматической реализации метода в enum.Так что здесь происходит?Кроме того, код не дает никакой ошибки времени компиляции.
interface Named {
public String name();
public int order();
}
enum Planets implements Named {
Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune;
// name() is implemented automagically.
public int order() { return ordinal()+1; }
}