栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java中的绑定和分派有什么区别?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java中的绑定和分派有什么区别?

我认为,这种混乱通常来自这些术语的超载。

我们使用高级语言对程序进行编程,而编译器或解释器必须将其转换为机器真正可以理解的内容。

粗略地说,您可以描绘出一个将我们的方法代码转换为某种形式的机器代码的编译器。如果编译器在稍后运行程序时准确地知道该方法在内存中的位置,则它可以安全地找到该已编译方法的每个方法调用,并将其替换为跳转到已编译代码的该地址。居住吧?

好吧,实现这种关系是我理解的约束力。但是,这种绑定可能在不同的时刻发生,例如在编译时,链接时,加载时或在运行时,这取决于语言的设计。

术语“静态”和“动态”通常分别用于指代运行时之前和运行时绑定的事物。

绑定时间越晚,灵活性越高;绑定时间越早,效率越高。语言设计师在创建语言时必须权衡这两个方面。

大多数面向对象的编程语言都支持子类型多态。在这些语言中,虚拟方法是在运行时绑定的,具体取决于此时对象的动态类型。换句话说,虚拟方法调用是在运行时基于所涉及的对象实现的动态类型而不是仅基于其静态类型引用而分派给适当的实现的。

因此,我认为,您必须首先将方法调用绑定到特定的实现或执行地址,然后才能向其分派调用。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/574259.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号