次のクラス階層を検討してください。
ベース <-- 派生1
ベース <-- Derived2
Base には static フィールドがあります。派生クラスにその静的フィールドを継承させたいのですが、各クラスにはその静的フィールドの独自の「インスタンス」が必要です (つまり、同じ名前の静的フィールドが複数あることを意味します)。それDerived1.staticField
は とは異なりDerived2.staticField
ます。どうすればいいですか?
私の質問を理解していただければ幸いです。私の説明を何らかのコードでサポートしたい場合は教えてください。
public class Base
{
protected static String staticField = "Base";
protected void printIt()
{
System.out.println(staticField);
}
}
public class Derived1 extends Base
{
//Override somehow
protected static staticField = "Derived1";
}
public class Dervied2 extends Base
{
//Override somehow
protected static staticField = "Derived2";
}
instanceOfBase.printIt()
「ベース」を印刷します
instanceOfDerived1.printIt()
「Derived1」を出力します
instanceOfDerived2.printIt()
「Derived2」を出力します