有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

继承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) 个答案

  1. # 1 楼答案

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