[英]Java Access Enum specific methods?
我这样创建了一个枚举:
enum Types { hi, hello, bye }
我在每个单独的枚举中添加了一个 getter,如下所示:
enum Types {
hi {
String test = "From hi";
public String getString() {
return test;
},
etc.
}
除了我不能调用“Types.hi.getString()”。 有什么办法吗? 谢谢!
在您的枚举 class 中,将您要访问的方法定义为public abstract
。
像这样:
enum Types {
hi {
public String getString() {
return "From hi";
}
};
public abstract String getString();
}
作为替代方案,让您的枚举 class 实现一个接口:
public interface StringProvider {
String getString();
}
public enum Types implements StringProvider {
...
}
方法和字段声明应在枚举(即类型)内的 go。 hi, bye 和 hello 是类型的实例。
你做的不完全正确。
Sun 有一份关于如何在枚举中包含方法和字段的文档。 在这里。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.