静止的(static)和动态绑定(dynamic binding)的区别

术语绑定(静态和动态)是java编程中的基本概念。这些概念是在学习java的早期教授的,是在面试时提出的热门问题。这是因为这些简单的概念常常让面试官知道自己对java编程有多么精通。...
关键区别:静态绑定发生在编译代码时,而动态绑定发生在运行时执行代码时。

术语绑定(静态和动态)是java编程中的基本概念。这些概念是在学习java的早期教授的,是在面试时提出的热门问题。这是因为这些简单的概念常常让面试官知道自己对java编程有多么精通。

静止的(static)和动态绑定(dynamic binding)的区别

在我们开始讨论静态绑定和动态绑定之间的区别之前,让我们先了解一下绑定到底是什么。绑定是指在方法调用和方法定义之间创建的链接。它让系统知道哪些代码应该以什么方式执行。如果任何方法调用都没有方法定义,则会导致系统显示错误。静态和动态绑定确定代码实际执行的时间。

虽然大多数引用是在编译时解析的,但是有些引用需要实际的对象并在运行时解析。这是静态和动态的主要区别。静态绑定发生在编译代码时,而动态绑定发生在运行时执行代码时。

静止的(static)和动态绑定(dynamic binding)的区别

在编译期间,当绑定时,编译器不检查特定引用变量所指向的对象类型,它只检查每个方法是否有定义。这称为静态或早期绑定。重载方法是使用静态绑定绑定的。

在动态或后期绑定中,在绑定时,编译器检查要绑定的实际对象,因此需要运行程序。重写的方法是使用动态绑定绑定的。

静态绑定和动态绑定的比较:

 

静态绑定 动态绑定
装订时间 在编译时发生 在运行时发生
实际对象 实际对象不用于绑定 实际对象用于绑定
也称为 它也称为早期绑定,因为绑定发生在编译期间 它也称为延迟绑定,因为绑定发生在运行时
例子 函数重载 方法重写
装订方法 Private、static和final方法显示静态绑定。因为,它们不能被覆盖。 除了private之外,static和final方法显示动态绑定。因为,它们可以被覆盖。
等级 类型类 对象类

图片提供:javatpoint.com,thecrazyprogrammer.com

  • 发表于 2021-07-12 13:01
  • 阅读 ( 324 )
  • 分类:通用

你可能感兴趣的文章

静止的(static)和动态内存分配(dynamic memory allocation)的区别

...内存分配有效。一个缺点是实现动态内存分配很复杂。 静止的(static)和动态内存分配(dynamic memory allocation)的共同点 两者都是内存分配机制。 两者都应该由程序员手动实现。 静止的(static)和动态内存分配(dynamic memory allocation)的...

  • 发布于 2020-10-11 12:09
  • 阅读 ( 1012 )

静态绑定(static binding)和动态绑定(dynamic binding)的区别

...静态绑定与动态绑定的表格形式 6. 摘要 什么是静态绑定(static binding)? 绑定是方法调用和方法定义之间的链接。 图01:静态绑定和动态绑定 参考下面用Java编写的程序。 公共A级{ 公共无效方法1(){ System.out.println(“方法1”)...

  • 发布于 2020-10-19 17:49
  • 阅读 ( 418 )

静止的(static)和动态特性(dynamic characters)的区别

...更受读者的喜爱。这提供了对这两类字符的基本理解。 静止的(static)和动态特性(dynamic characters)的区别 •静态人物在整个小说中没有发生任何变化,从头到尾都保持不变。这些大多是故事中的小人物。 •另一方面,动态角色在...

  • 发布于 2020-10-24 16:55
  • 阅读 ( 786 )

静止的(static)和动态路由(dynamic routing)的区别

静态与动态路由 静态路由和动态路由的区别在于路由条目进入系统的方式。计算机网络中的路由是指在计算机网络中正确地转发数据包,使数据包最终到达正确的目的地的过程。路由主要有静态路由和动态路由两种类型。在...

  • 发布于 2020-10-29 09:42
  • 阅读 ( 439 )

动态(dynamic)和静态ip(static ip)的区别

动态IP是指每次连接到网络时都会发生变化的IP,而静态IP是指无论连接多少次或从网络断开多少次都保持不变的IP。您是否有静态或动态IP地址取决于所述网络的管理员。每次连接到网络时,动态IP都会发生变化;这是一种在连接...

  • 发布于 2021-06-22 11:51
  • 阅读 ( 390 )

动态拉伸(dynamic stretching)和静态拉伸(static stretching)的区别

...群用于针对关键的表现区域。   什么是静态拉伸练习(static stretch exercises)? 静态拉伸练习是一种更慢、更受控制的运动形式。静态练习是用来保持一个姿势在一个伸展的立场,并适合后锻炼阶段。它们有助于冷却过程,因为...

  • 发布于 2021-06-26 00:09
  • 阅读 ( 570 )

静止的(static)和动态平衡(dynamic equilibrium)的区别

...然而,这种情况在机械意义上比化学意义上更有意义。 静止的(static)和动态平衡(dynamic equilibrium)的区别 定义 动态平衡是反应物转化为产物,产物以相等且恒定的速率转化为反应物的平衡。 静态平衡是当反应中的所有粒子都处于...

  • 发布于 2021-06-27 09:49
  • 阅读 ( 567 )

静止的(static)和动态网站(dynamic website)的区别

...站。电子商务网站和社交媒体网站是***站的两个例子。 静止的(static)和***站(dynamic website)的区别 定义 静态网站是一个网站,它的网页是用HTML编码的,每个网页的内容都是固定的,除非经过编辑和重新发布,否则不会改变。***站...

  • 发布于 2021-07-01 01:36
  • 阅读 ( 632 )

静止的(static)和动态ip(dynamic ip address)的区别

静态IP地址和动态IP地址的主要区别在于,静态IP地址是由网络管理员手动分配给设备的固定地址,而动态IP地址是由DHCP服务器自动分配给设备的地址。 计算机网络由各种设备组成,如台式机、笔记本电脑、服务器、路由器和交...

  • 发布于 2021-07-01 03:17
  • 阅读 ( 809 )

静止的(static)和动态哈希(dynamic hashing)的区别

静态哈希和动态哈希的主要区别在于,在静态哈希中,生成的数据桶地址总是相同的,而在动态哈希中,数据桶根据记录的增减而增减。 要在大型数据库中查找数据,不可能搜索所有索引。散列提供了解决这个问题的另一种方...

  • 发布于 2021-07-01 07:30
  • 阅读 ( 332 )
ps010836
ps010836

0 篇文章

相关推荐