【发布时间】:2012-08-01 09:44:46
【问题描述】:
最近,我发现了以下结构的代码:
接口:
public interface Base<T> {
public T fromValue(String v);
}
枚举实现:
public enum AddressType implements Base<AddressType> {
NotSpecified("Not Specified."),
Physical("Physical"),
Postal("Postal");
private final String label;
private AddressType(String label) {
this.label = label;
}
public String getLabel() {
return this.label;
}
@Override
public AddressType fromValue(String v) {
return valueOf(v);
}
}
我的直接反应是无法通过反序列化或反射创建枚举实例,因此fromValue() 应该是静态的。
我不是要开始辩论,但这是否正确?我已阅读Why would an Enum implement an interface,我完全同意所提供的答案,但上述示例无效。
我这样做是因为“建筑师”不想接受我的回答,所以这是为了创建一个强有力的论据(有事实)为什么上述方法是好/坏的。
【问题讨论】:
-
除了枚举,还有其他实现接口的类吗?
-
@Edwin Dalorzo,不。只有接口。