66、Java 中的方法重写与后期绑定详解

Java 中的方法重写与后期绑定详解

1. 后期绑定概述

后期绑定(Late Binding)是 Java 中一个重要的概念。在后期绑定中,方法调用在运行时才会被解析。例如,有如下代码情况:

// 假设存在 LateBindingSub 和 LateBindingSuper 类
LateBindingSuper lbSuper;
LateBindingSub lbSub = new LateBindingSub();
lbSuper = lbSub; // 第一行代码将 lbSub 赋值给 lbSuper

当执行 lbSuper.print() 时,运行时系统需要找到 print() 方法的代码。运行时系统发现 lbSuper 变量的运行时类型是 LateBindingSub 类,于是在 LateBindingSub 类中查找 print() 方法并执行。

与早期绑定(Early Binding)相比,后期绑定会有轻微的性能开销,因为方法调用是在运行时解析的。不过,编程语言可以使用许多技术(如虚方法表)来实现后期绑定,所以性能损失通常很小或可以忽略不计。后期绑定的好处远远超过了这点性能损失,它允许实现包含多态性。当编写像 a2.print() 这样的代码时, a2 变量在 print() 方法上表现出多态行为。同样的代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值