社区
Java SE
帖子详情
java的动态静态绑定是什么意识?
cavis
2009-02-10 08:07:23
1111
...全文
540
5
打赏
收藏
java的动态静态绑定是什么意识?
1111
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
java_cto
2009-04-16
打赏
举报
回复
动态绑定和 方法覆写 的关系,我也搞不清楚, 关注此问题
filemon
2009-03-07
打赏
举报
回复
本人刚学Java,也在思考动态绑定的问题?不太确定动态绑定与多态(或者说方法重载)之间的关系。请问多态的问题就是动态绑定的问题吗????
我觉得大致了解了一点动态绑定,(本人看的是Java核心技术)。觉得二楼回答的挺准备的(只是觉得,但还有疑问)。
先说一下自己的理解,有错误的恳请各位纠正。动态绑定是编译时在父类和子父之间根据方法签名选择哪一种方法。而多态的方法选择是根据参数的不同来选择不同的方法(不限于父类子类,但不确定是否仅在一个类中的不同方法叫重载)。
有一种情况下是多态,而不是动态绑定,就是构造函数中的方法重载。【这么说是因为Java核心技术说如果方法是private、static、final或者是构造器时,编译器将可以准备地知道应该调用哪个方法,这种调用方式就是静态绑定。
求证,先谢谢各位了!
yangkaixin1226
2009-02-10
打赏
举报
回复
多态机制就是动态绑定
爱摸鱼de老邪
2009-02-10
打赏
举报
回复
[Quote=引用 1 楼 TKoTK 的回复:]
动态邦定 又叫后期绑定 也叫运行时绑定
简单的说 就是在编译的时候不知道具体调用的是哪个方法(是父类的还是子类的,因为继承有个方法重写的问题)
而静态绑定,就是前期绑定,也叫编译期绑定
编译的时候,已经确切知道调用的是哪个类的哪个方法
java默认的是后期绑定,不加特殊的修饰关键字,所有的方法子类都是可以重写的
更具体 更确切的解释 可以参考 《java编程思想》 或 《java核心技术》
[/Quote]
或者楼主Google之
TKoTK
2009-02-10
打赏
举报
回复
动态邦定 又叫后期绑定 也叫运行时绑定
简单的说 就是在编译的时候不知道具体调用的是哪个方法(是父类的还是子类的,因为继承有个方法重写的问题)
而静态绑定,就是前期绑定,也叫编译期绑定
编译的时候,已经确切知道调用的是哪个类的哪个方法
java默认的是后期绑定,不加特殊的修饰关键字,所有的方法子类都是可以重写的
更具体 更确切的解释 可以参考 《java编程思想》 或 《java核心技术》
Java
的
静态
/
动态
绑定
看到《
Java
核心技术I》书上的
动态
绑定
,意思是当子类和父类存在同一个方法,子类重写了父类的方法,程序在运行时调用方法是调用父类的方法还是子类的重写方法呢?程序会在运行的时候自动选择调用某个方法(根据方法表)。 看完这里不由自主的想到,有
动态
肯定也有
静态
吧,于是去求助了下google,首先看了下什么是
绑定
:
绑定
指的是一个方法的调用与方法所在的类(方法主体)关联起来。对
java
来说,
绑定
分为
静态
绑定
和
动态
绑定
;或者叫做前期
绑定
和后期
绑定
。 然后我们分别看看两者之间含义以及差别
动态
绑定
:在运行时根据具体对象的类型进行
绑定
。若一种语言实现了后期
绑定
,同时必须提供一些机制,
java
静态
绑定
_
Java
之
动态
绑定
与
静态
绑定
1、当子类和父类存在同一个方法,子类重写了父类的方法,程序在运行时调用方法是调用父类的方法还是子类的重写方法呢?2、当一个类中存在方法名相同但参数不同(重载)的方法,程序在执行的时候该如何辨别区分使用哪个方法呢?在
Java
中我们使用
静态
绑定
(static binding)和
动态
绑定
(Dynamic binding)来解决,那么什么是
绑定
?什么是
静态
绑定
?什么又是
动态
绑定
?有什么区别?
绑定
、
静态
绑定
...
Java
的
静态
绑定
与
动态
绑定
我们可以对思考一个问题: JVM是如何知道调用的是哪个类的方法源代码? 这里面到底有什么内幕呢? 这篇文章我们就将揭露JVM方法调用的
静态
(static binding) 和
动态
绑定
机制(auto binding) 。 理解这两个
绑定
之前,我们不妨先理解一下
绑定
一词。 何为
绑定
? 在
Java
中
绑定
指的是一个方法的调用与方法所在的类(方法主体)关联起来。 在
Java
中的
绑定
有分为
静态
绑定
和
动态
绑定
;或者说叫前期
绑定
或者说后期
绑定
。
静态
绑定
在程序执行前方法已经被
绑定
,针对
Java
简单的可以理
Java
动态
绑定
和
静态
绑定
Java
动态
绑定
和
静态
绑定
程序
绑定
静态
绑定
动态
绑定
程序
绑定
程序
绑定
:一个方法的调用与方法所在的类(方法主题)关联起来,即计算机要明确最终执行的方法是谁的方法。对
Java
来说,
绑定
分为
静态
绑定
和
动态
绑定
;或者叫做前期
绑定
和后期
绑定
静态
绑定
在程序执行前方法已经被
绑定
(在编译过程中就已经明确这个方法是哪个类的方法),此时,由编译器或其它连接程序实现。 注意:
Java
中只有 final,static,private修饰的方法和构造方法是前期
绑定
的。 关于final,static,private和
Java
中
动态
绑定
是什么意思?
将一个方法调用同一个方法主体连接到一起称为“
绑定
”(Binding)。如果在程序运行之前执行
绑定
,由编译器决定方法调用的程序,称为“早期
绑定
”或“
静态
绑定
”。如果
绑定
过程在程序运行期间进行,以对象的类型为基础,则称为“后期
绑定
”或“
动态
绑定
”。 如果一种语言实现了后期
绑定
,同时必须提供一些机制,可以在运行期间判断对象的实际类型,并分别调用适当的方法,即编译器此时依然不知道对象的类型,但方法调用机制...
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章