【发布时间】:2013-06-09 07:36:00
【问题描述】:
考虑以下类层次结构:
基础
基础
Base 有一个静态字段。
我希望派生类继承该静态字段,但每个类都应具有该静态字段的自己的“实例”(通过实例我的意思是有多个具有相同名称的静态字段)。所以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”
【问题讨论】:
-
是的,请添加代码
-
如果有一些问题,比如你链接的问题。虚拟 getter 方法的想法很好,但有什么方法可以避免产生大量名为
staticFieldBase、staticFieldDerived1、staticFieldDerived2的静态变量?