我运行了以下代码:
class Feline {
public String type = "f ";
public Feline() {
System.out.print("feline ");
}
}
public class Cougar extends Feline {
public Cougar() {
System.out.print("cougar ");
}
public static void main(String[] args) {
new Cougar().go();
}
void go() {
type = "c ";
System.out.print(this.type + super.type);
}
}
并认为输出会是feline cougar c f
,但令我惊讶的是输出是feline cougar c c
. 有人可以解释一下。