扩展类中的“super of super”(在超类的超类中更改变量)

时间:2011-10-09 08:03:47

标签: java android

问题是更多Java,但我想在Android中实现它:

假设有3个或更多的类相互延伸:

class A {
    ...
    int color;
    ...
}

class B extends A {
    ...
}

class C extends B {
    ...
    // I want to alter color of class A inside here
}

如果没有在super.color = 4中设置C并在color=4设置另一个super.color = 4B吗?

e.g。是否有可能在C类中写出类似super(super(color=3))的内容?

2 个答案:

答案 0 :(得分:2)

...
// I want to alter color of class A inside here
...

非私有字段继承到子类。您可以在color = 3C A.color,这会影响{{1}}。

答案 1 :(得分:1)

通过构造函数无法实现 - 您只能调用立即超级构造函数。

但是,在调用color=3

后,您可以使用super()重新分配字段