对(重载overloading和覆写overriding哪个更早执行-- visitor帮助篇)这篇文章的说明
有兴趣的话可以看看这篇文章,下边gg_shily朋友和我的一些讨论,在gg_shily的激发下,我决定仔细研究一下这个问题,在我的很多文章中都用过的字节码,我想在这里也能帮助我 。下边是分析的结果,为了方便观看,我把里边的两个类稍微变动一下![](http://image4.360doc.com/DownloadImg/2009/3/4/111235_2711708_1.gif)
2
![](http://image4.360doc.com/DownloadImg/2009/3/4/111235_2711708_1.gif)
3
![](http://image4.360doc.com/DownloadImg/2009/3/4/111235_2711708_2.gif)
![](http://image4.360doc.com/DownloadImg/2009/3/4/111235_2711708_3.gif)
![](http://image4.360doc.com/DownloadImg/2009/3/4/111235_2711708_4.gif)
4
![](http://image4.360doc.com/DownloadImg/2009/3/4/111235_2711708_5.gif)
5
![](http://image4.360doc.com/DownloadImg/2009/3/4/111235_2711708_6.gif)
![](http://image4.360doc.com/DownloadImg/2009/3/4/111235_2711708_7.gif)
![](http://image4.360doc.com/DownloadImg/2009/3/4/111235_2711708_4.gif)
6
![](http://image4.360doc.com/DownloadImg/2009/3/4/111235_2711708_5.gif)
7
![](http://pubimage.360doc.com/wz/default.gif)
8
![](http://pubimage.360doc.com/wz/default.gif)
9
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
10
![](http://pubimage.360doc.com/wz/default.gif)
11
![](http://pubimage.360doc.com/wz/default.gif)
12
![](http://pubimage.360doc.com/wz/default.gif)
13
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
14
![](http://pubimage.360doc.com/wz/default.gif)
15
![](http://pubimage.360doc.com/wz/default.gif)
16
![](http://pubimage.360doc.com/wz/default.gif)
17
![](http://pubimage.360doc.com/wz/default.gif)
18
![](http://pubimage.360doc.com/wz/default.gif)
19
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
20
![](http://pubimage.360doc.com/wz/default.gif)
21
![](http://pubimage.360doc.com/wz/default.gif)
22
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
然后到运行期,会向下转型到Child.run(String)
posted on 2006-12-20 00:32 dreamstone 阅读(2027) 评论(3) 编辑 收藏 所属分类: jdk相关
评论
# re: 对(重载overloading和覆写overriding哪个更早执行-- visitor帮助篇)这篇文章的说明 2006-12-20 20:43 gg_shily
不好意思,我白天用不了msn,周末的时候才能用,我的msn是GG_sHiLy@hotmail.com,加你了,你这么说我觉得就很明白了,呵呵 回复 更多评论
# re: 对(重载overloading和覆写overriding哪个更早执行-- visitor帮助篇)这篇文章的说明 2007-02-18 01:39 喜来了
对Java中, 怎样从一个方法调用instance.foo(args) ,找到实际调用的函数, 在Core Java里有很详细的描述, 简单讲, 每个Class会保存一个方法调用表, 根据instance的具体值和方法的signature寻找。 顺带的, Core Java里还详细讲述了Java Compiler和Java解释器是怎样从一个类名找到一个具体的类文件位置。
其实所谓的Polymorphy也好, Overloading也好都是对Java Compiler和解释器内部算法的抽象。如果有人需要Core Java的电子书,我这有,发封信给我。也可以从这个站上下http://www./xilaile/archive/2007/02/16/100022.aspx
很多关于计算机的书 回复 更多评论
# re: 对(重载overloading和覆写overriding哪个更早执行-- visitor帮助篇)这篇文章的说明 2007-06-21 13:18 s
我要Core Java的电子书谢谢 shangcom2006@163.com