当前位置:  技术问答>java相关

谁能真正的理解这个程序运行过程,请讲讲?

    来源: 互联网  发布时间:2015-02-17

    本文导语:  程序: class Egg2{ protected class Yolk{ public Yolk(){             System.out.println("Egg2.Yolk()"); } public void f(){         System.out.println("5"); System.out.println("Egg2.Yolk.f()"); } }      private Yolk y=new Yolk(); publi...

程序:
class Egg2{
protected class Yolk{
public Yolk(){
           
System.out.println("Egg2.Yolk()");

}
public void f(){
        System.out.println("5");
System.out.println("Egg2.Yolk.f()");
}
}
    
private Yolk y=new Yolk();
public Egg2(){
        System.out.println("2");
System.out.println("New Egg2()");
        System.out.println("3");
}
public void insertYolk(Yolk yy){
System.out.println("*");
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();
            System.out.println("4");
e2.g();
}
}
结果:
---------- run ----------
Egg2.Yolk()
New Egg2()
Egg2.Yolk()
BigEgg2.Yolk()
BigEgg2.Yolk().f()
Normal Termination
Output completed (0 sec consumed).

|
当BigEgg2运行时,首先找到Egg2,因为BigEgg2是extends Egg2,假如Egg2还有基类,也会被载入的,
,接着会在基类执行static(如果有)初始化,
此时必要的类已经载入,所以能够创建对象,
然后调用基类构建器

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • DirectDraw:lpitch的理解
  • 分布式系统的故障独立性如何理解
  • 对TCP协议状态及状态转换理解
  • 套接字应该怎么理解
  • c/c++内存堆分配和栈分配理解
  • 如何理解fork函数返回2次啊?
  • 请问下面一句话应该怎样理解?
  • 句柄?句柄?“句柄”到底是什么东西?怎样理解?
  • unsigned char modeflags :5;是如何来理解?
  • 问一个《深入理解计算机系统》中的问题
  • 深度理解try{}cathc(){}
  • 深入理解PHP内核 TIPI
  • 求最容易理解,最容易上手的java书籍,servlet书籍,请指教,谢谢!!
  • 在JTree中的USEROBJECT有什么用处,我一直不理解?
  • 如何理解ResourceBundle和Locale?和应用的场合?谢谢
  • 100分求:哪儿有《深入理解linux内核》可供下哉!
  • System.gc();怎么理解?
  • system.map文件的作用和理解
  • sembuf.sem_num到底如何理解?--初学者向各位请教
  • 如何准确理解“程序”、“进程”、“线程”这三个概念
  • makefile这句话应该则怎么理解


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3