目前我声明我的所有静态字段如下:
public static final int EXAMPLE_OF_STATIC_FIELD = 0;
假设我有一个基类,其中的字段代表类内可能发生的所有错误:
public class Base {
public static final int ERROR_1 = 0;
public static final int ERROR_2 = 1;
public static final int ERROR_3 = 2;
}
如果我扩展这个基类并且我想向Error types
该类添加更多内容,我将执行以下操作:
public class OffSpring extends Base {
public static final int NEW_ERROR_1 = 3;
}
为了让我声明 new Error types
,我需要知道Error types
基类中的值,这(在我看来)不是很方便,因为我可能不小心Error Type
在 的后代类中声明了与fromBase class
相同的值. 例如:Error type
Base class
public static final int NEW_ERROR_1 = 0;
这将与
public static final int ERROR_1 = 0;
这会冲突...
我想也许可以使用一个Enum Class
,但事实证明你不能扩展它。
可以对枚举进行子类化以添加新元素吗?
另一种选择是对所有静态字段使用 String 值类型而不是 int 值类型,但这不是一个非常有效的解决方案......
如何在不与超类冲突的情况下向类的后代添加更多字段?