继承Java SE 7程序员I Oracle认证
我在Oracle的JavaSE7程序员I认证中发现了这个示例问题,我不明白为什么正确的答案是这样的:猫美洲狮c
class Feline {
public String type = "f ";
public Feline() {
System.out.print("feline ");
}
}
public class Cougar extends Feline {
public Cougar() {
System.out.print("cougar ");
}
void go() {
type = "c ";
System.out.print(this.type + super.type);
}
public static void main(String[] args) {
new Cougar().go();
}
}
当我们使用继承时,我们不是应该在类Cougar上获得一个类型属性吗?(这意味着我们将以两个类型属性结束?一个用于猫科动物,一个用于美洲狮?)为什么type=“c”会影响父属性和子属性?我想只有我们做得很好才会发生。type=“c”?谢谢你的帮助
# 1 楼答案
状态和行为都是继承的,所以最终只有一种类型