锁定老帖子 主题:上转型对象 - 平时没有注意的地方
精华帖 (0) :: 良好帖 (5) :: 新手帖 (4) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-01-17
变量被隐藏,方法被覆盖。
|
|
返回顶楼 | |
发表时间:2011-01-17
freish 写道 yeshaoting 写道 weilingfeng98 写道 java的机制
谢谢你的回复... 嗯...我知道是java的机制. 我想知道这个机制的过程,具体是怎么做... 想多了解一点. 《深入java虚拟机》,不多说 还不多说。。有什么啊。。。。。。哎 |
|
返回顶楼 | |
发表时间:2011-01-17
突然发现自己也没注意过这个问题~
学习了 |
|
返回顶楼 | |
发表时间:2011-01-17
yeshaoting 写道 silentlakeside 写道 属性,私有方法、静态方法、final方法都是静态绑定的,即编译期确定的。
其他方法是动态绑定的,即虚拟机运行时确定。 后者才可能出现override的情况。 是目前最好,最清楚的解释了. +1 |
|
返回顶楼 | |
发表时间:2011-01-17
最后修改:2011-01-17
getfield和invokevirtual这两个指令中有详细介绍.
http://www.brics.dk/~mis/dOvs/jvmspec/ref-Java.html |
|
返回顶楼 | |
发表时间:2011-01-17
snake1987 写道 突然发现自己也没注意过这个问题~
学习了 哈哈...现在用JavaBean用得太多了. 很少对变量直接操作了. |
|
返回顶楼 | |
发表时间:2011-01-17
qz小峰 写道 getfield和invokevirtual这两个指令中有详细介绍.
http://www.brics.dk/~mis/dOvs/jvmspec/ref-Java.html 哇哦,英文的~~ 现在在看英文的论文,有点排斥英文的东西 |
|
返回顶楼 | |
发表时间:2011-01-18
本来儿子就可以重写父亲的field,根本不用再取一个同名的field...
|
|
返回顶楼 | |
发表时间:2011-01-18
重写(override):父类中的实例方法被其子类重新实现。既然是实例方法,那就是非 static 修饰的了,否则就是 static 静态方法了,那叫做类方法。在我看来,正是重写这一机制的存在,才为多态机制提供了基础。或许 implements (实现)一个 interface (接口)中所声明的方法也能成为重写,因为 interface 的一部分存在原因也是为了多态。
隐藏(hide):子类的某个字段、静态方法、成员内部类与其父类的具有相同名字(对于静态方法还需要相同的参数列表),此时父类对应的字段、静态方法、成员内部类就被隐藏了。 |
|
返回顶楼 | |
发表时间:2011-01-18
最后修改:2011-01-18
java编程思想 多态那一章节有讲
另外我的博客第一篇也是谈这个的 |
|
返回顶楼 | |