多个Java类中的冗余属性

时间:2018-11-30 22:01:54

标签: java class

说我有一个超类和该类的多个子类。现在,我希望所有子类都具有一个具有相同名称的静态属性。如果我给超类提供这样的属性(静态),并在子类之一中更改此继承的属性,则对于所有其他子类也将更改。

是否可能仅对子类具有“静态”属性(以某种方式从超类继承,这样该属性就不会多余,并且不必在每个子类中声明)?还是有更好的解决方案来解决这个问题?

1 个答案:

答案 0 :(得分:0)

我能找到的最佳解决方案是,您向超类添加一个方法,该方法返回大多数子类的值。

然后,您可以在具有不同返回值的每个子类上覆盖该方法。

class Parent {
    public String getType() {
        return "A";
    }
}

class Child1 extends Parent {
}

class Child2 extends Parent {
    public String getType() {
        return "B";
    }
}