关于Java的动态绑定和静态绑定
在一个地方看到Java中: 类的成员变量(属性)都是静态绑定的(编译时)。类的方法(除了final 和static)都是动态绑定的。我在另外一个地方看到。说Java的重载和重写都是编译时多态。(http://blog.sina.com.cn/s/blog_588de827010005l9.html)这里写的。
所以有两个问题:
1. 然后我现在的概念是:Java中的重载和重写(继承)是动态绑定,这个对吗。
2. 关于重写和重载是编译是多态的说话对吗? 这个和动态绑定与静态绑定有什么关系?
等待高手解答。
--------------------编程问答-------------------- 编译是多态 是 编译时多态 ,笔误 --------------------编程问答-------------------- 方法重载肯定是静态绑定啊,但是重写是动态绑定。 --------------------编程问答-------------------- 多态分为静态多态和动态多态,静态多态是执行之前决定用哪个方法,比如说你在实例化对象时,决定用哪种构造方法,重载是静态多态。动态多态程序运行中才决定用哪个方法,方法重写是动态多态。
绑定是方法调用与方法所在类关联,分为静态绑定和动态绑定。静态绑定是在程序执行前就绑定好了的,final static private 修饰的都是静态绑定 。其他方法都是动态绑定。 --------------------编程问答-------------------- 抛弃动态绑定或者静态绑定什么的,你最需要理解的是编译时与运行时。那些事情是编译时做好的,哪些是运行时才去做的,理解这个就够了。 --------------------编程问答-------------------- 那3楼的答案是错误的?就是说其实重写和重载(为public)的都是动态绑定的,对吗? --------------------编程问答-------------------- 这种问题有意义吗?
你开发的时候还管什么静态什么动态? --------------------编程问答-------------------- 一方面自己想确确实实了解一下,另外一方面,面试会问到,不清楚也不行。 或者大家告诉我一下,那本书里有详细解释,谢谢 --------------------编程问答-------------------- java编程思想里面好像有这方面的介绍
补充:Java , Java SE