スーパークラスにfinalとマークされたフィールドがあるのに、サブクラスがこのフィールドをオーバーライドする(隠す)とどうなりますか? 「ファイナル」はこれを止めませんか? 私が取り組んでいる特定の例は、さまざまな種類の建物が継承するBuildingクラスです。各タイプのコストは、とりわけ、各サブクラスに対して最終的なものでなければならないが、各タイプの建物はそれぞれ独自のコストを必要とする。Javaでの最終フィールドの継承?
編集:私は以来、私は上記話していたものをわからなかったことに気づきました。私が本当に望むのは、コストの静的変数です。しかし、スーパークラスでこれらの静的変数を宣言すると、それらはスーパークラスに対して静的であるため、たとえばSubclass1.costはSuperclass.costまたはSubclass2.costと同じ値を参照します。各クラスで宣言することなく、各サブクラスに静的な変数を作成するにはどうすればよいですか。
くださいフィールドプライベート。 –
費用のようなものが時々変更されますか?なぜそれが最終的になるのですか?私はフィールドを隠すことは良い考えだとは思わない。 –