non*_*zor 5 java static attributes extends
这是一个例子:
class Parent {
protected int A;
public void displayA() {
System.out.println(A);
}
}
class Child extends Parent {
protected static int A=2;
}
Child intance = new Child();
intance.displayA();
=> return null !!!
Run Code Online (Sandbox Code Playgroud)
从父方法检索子属性的方法是什么?
谢谢 :)
在您的实例中,如果您使用 Child 类构造函数来设置 A 的值而不是重新声明变量,那么父类应该能够获取该值。
上面实例的问题是您在子类中重新声明变量,而不是仅仅更改超类中变量的值。
将子变量声明为静态是否有原因?如果您只需要该类变量的值,则可以直接引用它。然而,让多个子类设置变量值并由超类使用的更简洁的方法是让子类设置所需的值,然后让超类引用该变量(可能使用 getter)子类已经设置了值。