术语绑定(静态和动态)是java编程中的基本概念。这些概念是在学习java的早期教授的,是在面试时提出的热门问题。这是因为这些简单的概念常常让面试官知道自己对java编程有多么精通。
在我们开始讨论静态绑定和动态绑定之间的区别之前,让我们先了解一下绑定到底是什么。绑定是指在方法调用和方法定义之间创建的链接。它让系统知道哪些代码应该以什么方式执行。如果任何方法调用都没有方法定义,则会导致系统显示错误。静态和动态绑定确定代码实际执行的时间。
虽然大多数引用是在编译时解析的,但是有些引用需要实际的对象并在运行时解析。这是静态和动态的主要区别。静态绑定发生在编译代码时,而动态绑定发生在运行时执行代码时。
在编译期间,当绑定时,编译器不检查特定引用变量所指向的对象类型,它只检查每个方法是否有定义。这称为静态或早期绑定。重载方法是使用静态绑定绑定的。
在动态或后期绑定中,在绑定时,编译器检查要绑定的实际对象,因此需要运行程序。重写的方法是使用动态绑定绑定的。
静态绑定和动态绑定的比较:
| 静态绑定 | 动态绑定 |
装订时间 | 在编译时发生 | 在运行时发生 |
实际对象 | 实际对象不用于绑定 | 实际对象用于绑定 |
也称为 | 它也称为早期绑定,因为绑定发生在编译期间 | 它也称为延迟绑定,因为绑定发生在运行时 |
例子 | 函数重载 | 方法重写 |
装订方法 | Private、static和final方法显示静态绑定。因为,它们不能被覆盖。 | 除了private之外,static和final方法显示动态绑定。因为,它们可以被覆盖。 |
等级 | 类型类 | 对象类 |
图片提供:javatpoint.com,thecrazyprogrammer.com
...内存分配有效。一个缺点是实现动态内存分配很复杂。 静止的(static)和动态内存分配(dynamic memory allocation)的共同点 两者都是内存分配机制。 两者都应该由程序员手动实现。 静止的(static)和动态内存分配(dynamic memory allocation)的...
...静态绑定与动态绑定的表格形式 6. 摘要 什么是静态绑定(static binding)? 绑定是方法调用和方法定义之间的链接。 图01:静态绑定和动态绑定 参考下面用Java编写的程序。 公共A级{ 公共无效方法1(){ System.out.println(“方法1”)...
...更受读者的喜爱。这提供了对这两类字符的基本理解。 静止的(static)和动态特性(dynamic characters)的区别 •静态人物在整个小说中没有发生任何变化,从头到尾都保持不变。这些大多是故事中的小人物。 •另一方面,动态角色在...
静态与动态路由 静态路由和动态路由的区别在于路由条目进入系统的方式。计算机网络中的路由是指在计算机网络中正确地转发数据包,使数据包最终到达正确的目的地的过程。路由主要有静态路由和动态路由两种类型。在...
动态IP是指每次连接到网络时都会发生变化的IP,而静态IP是指无论连接多少次或从网络断开多少次都保持不变的IP。您是否有静态或动态IP地址取决于所述网络的管理员。每次连接到网络时,动态IP都会发生变化;这是一种在连接...
...群用于针对关键的表现区域。 什么是静态拉伸练习(static stretch exercises)? 静态拉伸练习是一种更慢、更受控制的运动形式。静态练习是用来保持一个姿势在一个伸展的立场,并适合后锻炼阶段。它们有助于冷却过程,因为...
...然而,这种情况在机械意义上比化学意义上更有意义。 静止的(static)和动态平衡(dynamic equilibrium)的区别 定义 动态平衡是反应物转化为产物,产物以相等且恒定的速率转化为反应物的平衡。 静态平衡是当反应中的所有粒子都处于...
...站。电子商务网站和社交媒体网站是***站的两个例子。 静止的(static)和***站(dynamic website)的区别 定义 静态网站是一个网站,它的网页是用HTML编码的,每个网页的内容都是固定的,除非经过编辑和重新发布,否则不会改变。***站...
静态IP地址和动态IP地址的主要区别在于,静态IP地址是由网络管理员手动分配给设备的固定地址,而动态IP地址是由DHCP服务器自动分配给设备的地址。 计算机网络由各种设备组成,如台式机、笔记本电脑、服务器、路由器和交...
静态哈希和动态哈希的主要区别在于,在静态哈希中,生成的数据桶地址总是相同的,而在动态哈希中,数据桶根据记录的增减而增减。 要在大型数据库中查找数据,不可能搜索所有索引。散列提供了解决这个问题的另一种方...