Я наткнулся на следующий код 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; }
}