Java SE 7程序员I Oracle认证

时间:2017-01-27 03:24:01

标签: java inheritance

我在Oracle认证的Java SE 7程序员中找到了这个示例问题,我不明白为什么正确答案如下:猫科动物c 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类上获得类型属性? (意思是我们以两个类型属性结束?一个用于Feline,一个用于Cougar?)为什么 type =" c" 影响父属性还有儿童财产?我认为只有当我们做了super.type =" c" ?谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

状态和行为都是继承的,所以最终只能使用一种类型。