首页上一页 1 下一页尾页 3 条记录 1/1页
关于内部类的一个问题
发表在Java图书答疑
2009-04-02
是否精华
是
否
版块置顶:
是
否
问题见程序里面的标注:
class Outclass1 {
Outclass1() {
System.out.println("类Outclass1的无参构造函数");
}
class Innerclass1 {
Innerclass1() {
System.out.println("类Innerclass1的无参构造函数");
}
}
public Innerclass1 doIt() {
return new Innerclass1();
}
}
class Outclass2 extends Outclass1.Innerclass1 {
public Outclass2(Outclass1 obj) {
obj.super();
[font color=#FF0000]/*为什么obj.super()的输出结果会是"类Innerclass1的无参构造函数"而不是"类Outclass1的无参构造函数"?*/
[/font] System.out.println("类Outclass2的无参构造函数");
}
}
public class test {
public static void main(String[] args) {
Outclass2 obj2 = new Outclass2(new Outclass1());
}
}
class Outclass1 {
Outclass1() {
System.out.println("类Outclass1的无参构造函数");
}
class Innerclass1 {
Innerclass1() {
System.out.println("类Innerclass1的无参构造函数");
}
}
public Innerclass1 doIt() {
return new Innerclass1();
}
}
class Outclass2 extends Outclass1.Innerclass1 {
public Outclass2(Outclass1 obj) {
obj.super();
[font color=#FF0000]/*为什么obj.super()的输出结果会是"类Innerclass1的无参构造函数"而不是"类Outclass1的无参构造函数"?*/
[/font] System.out.println("类Outclass2的无参构造函数");
}
}
public class test {
public static void main(String[] args) {
Outclass2 obj2 = new Outclass2(new Outclass1());
}
}