这是在java解惑(Puzzle 90)中看到的一个例子:public class Outer { class Inner1 extends Outer {} class Inner2 extends Inner1 {}
}
这个编译不能通过,变成下面这个就可以,看书上的解释也不是太清楚,谁明白的话给指点一下啊!!!public class Outer { class Inner1 extends Outer { } class Inner2 extends Inner1 {
public Inner2() {
Outer.this.super();
}
}
}
}
这个编译不能通过,变成下面这个就可以,看书上的解释也不是太清楚,谁明白的话给指点一下啊!!!public class Outer { class Inner1 extends Outer { } class Inner2 extends Inner1 {
public Inner2() {
Outer.this.super();
}
}
}
看这个吧虽然我没仔细看,呵呵
public class Outer { class Inner1 extends Outer {} class Inner2 extends Inner1 {}
}与这样写
public class Outer { class Inner1 extends Outer { } class Inner2 extends Inner1 {
public Inner2() {
Inner2.this.super();
}
}
}
是一样的在Inner2的构造方法中,
爷爷辈Outer的构造方法必须在
爸爸辈Inner1的构造方法之前调用