日期:2014-05-20  浏览次数:20768 次

关于Java的动态绑定和静态绑定
在一个地方看到Java中: 类的成员变量(属性)都是静态绑定的(编译时)。类的方法(除了final 和static)都是动态绑定的。

我在另外一个地方看到。说Java的重载和重写都是编译时多态。(http://blog.sina.com.cn/s/blog_588de827010005l9.html)这里写的。
所以有两个问题:
1. 然后我现在的概念是:Java中的重载和重写(继承)是动态绑定,这个对吗。

2. 关于重写和重载是编译是多态的说话对吗? 这个和动态绑定与静态绑定有什么关系?

等待高手解答。


------解决方案--------------------
多态分为静态多态和动态多态,静态多态是执行之前决定用哪个方法,比如说你在实例化对象时,决定用哪种构造方法,重载是静态多态。动态多态程序运行中才决定用哪个方法,方法重写是动态多态。
绑定是方法调用与方法所在类关联,分为静态绑定和动态绑定。静态绑定是在程序执行前就绑定好了的,final static  private 修饰的都是静态绑定 。其他方法都是动态绑定。
------解决方案--------------------
抛弃动态绑定或者静态绑定什么的,你最需要理解的是编译时与运行时。那些事情是编译时做好的,哪些是运行时才去做的,理解这个就够了。
------解决方案--------------------
这种问题有意义吗?
你开发的时候还管什么静态什么动态?
------解决方案--------------------
java编程思想里面好像有这方面的介绍