以下简单的代码段使用的界面Named包含两个方法,即name()与order()正在由实施enum命名Days.在enum Days不允许实现name()其实现接口的方法.这样做会导致编译时错误,虽然该name()方法未实现enum,但它不会发出任何错误.
package enumpkg;
interface Named
{
public String name();
public int order();
}
enum Days implements Named
{
Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday;
public int order()
{
return ordinal()+1;
}
}
final public class Main
{
public static void main(String[] args)
{
System.out.println("Monday = "+Days.Monday.order());
System.out.println("Tuesday = "+Days.Tuesday.order());
System.out.println("Wednesday = "+Days.Wednesday.order());
System.out.println("Thursday = "+Days.Thursday.order());
System.out.println("Friday = "+Days.Friday.order());
System.out.println("Saturday = "+Days.Saturday.order());
System.out.println("Sunday = "+Days.Sunday.order());
}
}
Run Code Online (Sandbox Code Playgroud)
该代码无需实现该name()方法即可运行enum.怎么样?
输出非常明显,如下所示.
Monday = 1
Tuesday = 2
Wednesday = 3
Thursday = 4
Friday = 5
Saturday = 6
Sunday = 7
Run Code Online (Sandbox Code Playgroud)