【发布时间】:2011-12-07 20:08:01
【问题描述】:
我遇到了以下 java 代码。这里接口包含两个方法,其中只有一个方法在枚举中实现。写的是name()是自动实现的。我的问题是怎么可能?我之前没有阅读过任何关于枚举中自动方法实现的规则。那么这里发生了什么?此外,代码没有给出任何类型的编译时错误。
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; }
}
【问题讨论】: