путаница с java enum

Я наткнулся на следующий код 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; }
}
6
задан Bhesh Gurung 7 December 2011 в 20:24
поделиться