Tengo dos clases que extienden la misma clase abstracta. Ambos necesitan la misma constante, pero con diferentes valores. ¿Cómo puedo hacer esto? Un código de ejemplo para mostrar lo que quiero hacer.Anulando constantes en Java
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
}
El código anterior no se compila porque CONST no se inicializa en la clase A. ¿Cómo puedo hacer que funcione? El valor de CONST debe ser 1 para todas las instancias de B, y 2 para todas las instancias de C, y 1 o 2 para todas las instancias de A. ¿Hay alguna forma de usar estadísticas para esto?
¡Gracias! Solo desearía poder usar estática, porque los valores no difieren de una instancia de B a otra. – Fractaly
@Fractaly: Pero varían de instancia de 'A' a otro. –
no debería getConst() en A ser abstracto? – Fractaly