在学习java的同时,我正在搜索SO并找到问题116574。 接受回答包含一些我不理解的java代码。
编辑: 代码基本上如下所示:
public enum SomeEnum {
FUN0 {
@Override
public void function() {
System.out.println("0 0 0 0 0");
}
},
FUN1 {
@Override
public void function() {
System.out.println("1 1 1 1 1");
}
};
public abstract void function();
public static void main(String[] args) throws Exception {
for (SomeEnum test : values()) {
test.function();
}
}
}
由于代码的组织,它看起来很先进,我很好奇。如果SO适合提出这样的问题:有人愿意解释一下这段代码吗?
枚举如何包含main?它应该不是一个班级吗? (Eclipse对此并不高兴,但在询问“选择Java应用程序”后运行主函数)这个构造与FUN0,FUN1是什么?
指向解释此主题的一些教程文本的指针已经让我感到高兴。
答案 0 :(得分:2)
这是enum
,其中每个实例都覆盖getResult
方法。
您应该记住的是enum
或多或少只是一个普通班级。
FileSizeBench是一个枚举而不是一个类怎么样?
因为它是使用enum
关键字而非class
声明的。使用enum
是因为SomeEnum
具有预定义的(在编译时知道的)实例数。