【发布时间】:2014-12-03 11:31:19
【问题描述】:
有两个类。一个继承自另一个。测试结果让我吃惊
因为我调用了子类构造函数及其方法。但是我不会像 new Cougar().go(); 这样调用超类构造函数。但是输出显示调用了超类构造函数。你能解释一下为什么会这样吗?
public class Feline {
public String type = "f";
public Feline() {
System.out.println("feline");
}
}
public class Cougar extends Feline {
public Cougar() {
System.out.println("cougar");
}
public static void main(String[] args) {
new Cougar().go();
}
private void go() {
type = "c";
System.out.println(this.type + " " + super.type);
}
}
输出:猫科动物 美洲狮 cc
【问题讨论】:
标签: java inheritance constructor