首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

关于内部类的继承解决办法

2012-02-22 
关于内部类的继承classEgg2{protectedclassYolk{publicYolk(){System.out.println( egg2.yolk() )}publ

关于内部类的继承
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();
}
}

[解决办法]
晕,程序不能规范一下吗?
[解决办法]
这句话的初始化究竟是怎样的,e2是BigEgg2型,那么Egg2的向上转型岂不是没有意义?
一般回先调用其super的构造器。关于具体的原因你可以看thinking in java

热点排行
Bad Request.