如果之前已经发布过此道歉,我只会以相反的方式获得结果。
我希望能够做两件事:
这是我的意思的一个超级简单的伪示例:
儿童班:
public class ChildClass extends AdultClass {
static int a=super.a+1;
}
成人班:
public class AdultClass {
static int a=5;
static public int getA() {
return a;
}
}
使用ChildClass对象的类:
public class ClientClass {
public static void main(String[] args) {
ChildClass.a <-I want this to =6
ChildClass.getA() <-I want this to return 6
}
}
答案 0 :(得分:2)
如果要利用Java的多态性,则必须涉及类实例。静态成员无法显示多态行为,您显然需要AdultClass.getA()
。
答案 1 :(得分:0)
然后简单地使该成员成为受保护成员,并将其用作孩子自己的成员。
此链接也可能有用。 why instance variable of super class is not overridden in sub class method