关于内部类的继承

DAXIANG84 2007-02-28 03:23:08
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是BigEgg2型,那么Egg2的向上转型岂不是没有意义?
e2.g();
}
}
...全文
192 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhongweitao 2007-03-01
  • 打赏
  • 举报
回复
这句话的初始化究竟是怎样的,e2是BigEgg2型,那么Egg2的向上转型岂不是没有意义?
一般回先调用其super的构造器。关于具体的原因你可以看thinking in java
tcbl 2007-02-28
  • 打赏
  • 举报
回复
晕,程序不能规范一下吗?

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧