欢迎光临
我们一直在努力

关于继承内部类——java编程思想示例程序分析-JSP教程,Java技巧及代码

建站超值云服务器,限时71元/月

关于继承内部类——java编程思想示例程序分析;

class egg2 {

protected class yolk {

public yolk() {

system.out.println("egg2.yolk()");

}

public void f() {

system.out.println("egg2.yolk.f()");

}

}

private yolk y = new yolk();

public egg2() {

system.out.println("new egg2()");

}

public void insertyolk(yolk yy) {

y = yy;

}

public void g() {

y.f();

}

}

public class bigegg2 extends egg2 {

public class yolk extends egg2.yolk {

public yolk() {

system.out.println("bigegg2.yolk()");

}

public void f() {

system.out.println("bigegg2.yolk.f()");

}

}

public bigegg2() {

insertyolk(new yolk());

}

public static void main(string[] args) {

egg2 e2 = new bigegg2();

e2.g();

}

}

程序运行结果:

egg2.yolk()

new egg2()

egg2.yolk()

bigegg2.yolk()

bigegg2.yolk.f()

运行顺序:

1、egg2 e2 = new bigegg2();子类在实例化之前,先调用父类构造方法,父类构造方法先初始化类成员;

有 private yolk y = new yolk();,y作为egg2类的成员先被初始化;先调用egg2内部类yolk的构造函数;打印出egg2.yolk();

2、调用egg2的构造函数;打印出egg2.yolk();

3、调用bigegg2的构造函数;因为它insertyolk(new yolk());这里的new yolk是bigegg2的内部类的实例;这个内部类继承了egg2中的内部类

;所以先调用了egg2中yolk的构造函数;打印出egg2.yolk();

4、调用bigegg2.yolk的构造函数;打印出bigegg2.yolk();

5、e2.g();打印出bigegg2.yolk();

我不知道分析的对不对,如果不对,请指教zhaoqb@neusoft.com

或者

zqb@hanhuasoft.com

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 关于继承内部类——java编程思想示例程序分析-JSP教程,Java技巧及代码
分享到: 更多 (0)

相关推荐

  • 暂无文章