¿Qué sucede cuando una superclase tiene un campo marcado como final, pero una subclase anula (oculta?) Este campo? 'Final' no detiene esto, ¿verdad? El ejemplo específico en el que estoy trabajando es una clase Building, de la que heredan diferentes tipos de edificios. El costo de cada tipo, entre otras cosas, debe ser final para cada subclase, pero cada tipo de edificio debe tener su propio costo.¿Herencia de campos finales en Java?
Editar: Desde entonces me he dado cuenta de que no tenía ni idea de lo que estaba hablando anteriormente. Lo que realmente quiero son variables estáticas de costo. Sin embargo, si declaro estas variables estáticas en la superclase, son estáticas para la superclase, por lo que Subclass1.cost, por ejemplo, se refiere al mismo valor que Superclass.cost o Subclass2.cost. ¿Cómo puedo crear variables que sean estáticas para cada subclase, sin tener que declararlas en cada clase?
Hacer el campo privado. –
Algo así como los cambios de costo de vez en cuando ¿no? Por qué hacerlo final No creo que esconder un campo sea una buena idea. –