【发布时间】:2012-02-06 14:43:20
【问题描述】:
当超类有一个标记为 final 的字段,但子类覆盖(隐藏?)该字段时会发生什么? “决赛”并没有阻止这一切,不是吗? 我正在研究的具体示例是 Building 类,不同类型的建筑物都从该类继承。除其他事项外,每种类型的成本应该是每个子类的最终成本,但每种类型的建筑都应该有自己的成本。
编辑:我已经意识到我不知道我在上面说的是什么。我真正想要的是成本的静态变量。但是,如果我在超类中声明这些静态变量,它们对于超类来说是静态的,因此 Subclass1.cost,例如,指的是与 Superclass.cost 或 Subclass2.cost 相同的值。如何使变量对每个子类都是静态的,而不必在每个类中声明它们。
【问题讨论】:
-
诸如成本之类的东西会不时变化,对吧?为什么要最终确定。我不认为隐藏字段是个好主意。
标签: java inheritance static