我知道这是不可能在Java扩展枚举,但我试图找到下面扩展字段枚举的Java
一个完美的解决方案,我尝试建模枚举(或类)将包含不同地区的各种网络服务的端点,例如我有服务A和B,每个服务在美国,欧盟,JP或CN都有4个区域特定的端点。 (这基本上是我编写的一些独立的调试代码,在生产中将从配置中挑选端点)
我希望能做到这样的事情(不符合标准的java代码)。
public enum IEndPoint {
NA_END_POINT,
EU_END_POINT,
JP_END_POINT,
CN_END_POINT,
}
public enum ServiceAEndPoint extends IEndPoint {
NA_END_POINT("http://A.com/");
EU_END_POINT("http://A-eu.com/");
JP_END_POINT("http://A-jp.com/");
CN_END_POINT("http://A-cn.com/");
}
,我对每个区域的方法,但在我看来枚举方法更清晰,有没有更好的办法,我可以模拟这个我能做到这一点使用接口?我正在寻找的是如果有更好的方法来建模遗传关系,并且具有枚举的表达能力。
ServiceAEndPoint.NA_END_POINT
VS
serviceAEndPoint.getNAEndPoint()
你不能把一个构造函数和一个getter放在你的IEndPoint枚举中吗? – Julien