这个含内部类的程序,运行结果为什么是这样的? 编程思想里的代码都是这样,虽然很短,但是很绕,这个debug自己调试下吧,就知道执行顺序了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 有些看了真的一头雾水。完全不懂执行顺序。我自己去学下debug。多谢。 首先,要理解内部类和类没有什么区别。其次,来说说这个顺序,先设BigEgg2为B,Egg2为B,然后继承自A,main中new B,那么首先在初始化B之前会初始化A,A的域y被初始化,所以首先打印出Egg2.Yolk(),然后执行构造函数,打印出New Egg2(),接下来是父类初始化首先没有域,所以构造函数被执行,使用父类方法 insertYolk ,然后B的内部类被初始化,还是遵从前面的述说,所以先打印Egg2.yolk,然后执行自己的构造函数,最后一个打印是由于子类重写了父类的g方法,所以是如此结果,是Java多态的一种表现---重写方法。最后,个人觉得,《Java编程思想》对于初学者比较吃力,有些深度,且有很多的经验之谈。可以看一些更加简单的书籍。 怎么使返回的List不会被被别人修改 在Eclipse中运行很正常,但是打包后运行就出问题 HttpConnection 应该用那个jar包啊 它应该如何用啊! 打印1到100的数 循环问题 Double 类型 格式化小数点的问题~! 男人活得有点惨!~~关于java.lang.NoClassDefFoundError的错误! 关于jsp:include 问题 请问如何把网页保存为特定格式的文件,例如(EXCEL,WORD) 有点不明白这个for循环。 java Test Frame界面测试
有些看了真的一头雾水。完全不懂执行顺序。我自己去学下debug。多谢。
其次,来说说这个顺序,先设BigEgg2为B,Egg2为B,然后继承自A,main中new B,那么首先在初始化B之前会
初始化A,A的域y被初始化,所以首先打印出Egg2.Yolk(),然后执行构造函数,打印出New Egg2(),接下来是父类初始化
首先没有域,所以构造函数被执行,使用父类方法 insertYolk ,然后B的内部类被初始化,还是遵从前面的述说,所以先打印
Egg2.yolk,然后执行自己的构造函数,最后一个打印是由于子类重写了父类的g方法,所以是如此结果,是Java多态的一种表现---
重写方法。
最后,个人觉得,《Java编程思想》对于初学者比较吃力,有些深度,且有很多的经验之谈。可以看一些更加简单的书籍。