说我有一个超类和该类的多个子类。现在,我希望所有子类都具有一个具有相同名称的静态属性。如果我给超类提供这样的属性(静态),并在子类之一中更改此继承的属性,则对于所有其他子类也将更改。
是否可能仅对子类具有“静态”属性(以某种方式从超类继承,这样该属性就不会多余,并且不必在每个子类中声明)?还是有更好的解决方案来解决这个问题?
答案 0 :(得分:0)
我能找到的最佳解决方案是,您向超类添加一个方法,该方法返回大多数子类的值。
然后,您可以在具有不同返回值的每个子类上覆盖该方法。
class Parent {
public String getType() {
return "A";
}
}
class Child1 extends Parent {
}
class Child2 extends Parent {
public String getType() {
return "B";
}
}