覆盖 Java 中的常量
2022-09-02 01:23:20
我有两个类扩展同一个抽象类。它们都需要相同的常量,但具有不同的值。我该怎么做?一些示例代码来显示我想要执行的操作。
abstract class A {
public static int CONST;
}
public class B extends A {
public static int CONST = 1;
}
public class C extends A {
public static int CONST = 2;
}
public static void main(String[] args){
A a = new B();
System.out.println(a.CONST); // should print 1
}
上面的代码无法编译,因为 CONST 未初始化 int 类 A。我怎样才能让它工作?对于 B 的所有实例,CONST 的值应为 1,对于 C 的所有实例,CONST 的值应为 2,对于 A 的所有实例,CONST 的值应为 1 或 2。有没有办法使用静态技术来实现这一点?