Java 中的静态绑定和动态绑定

本文详细解释了面向对象编程中的两个核心概念:多态与绑定。介绍了多态的基本原理及其实现的前提条件,并深入探讨了静态绑定与动态绑定的区别,包括它们的工作机制以及在Java中的具体应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、多态:一个接口,多种实现。 可见知乎详解:https://www.zhihu.com/question/30082151

多态存在的三个前提:

1.要有继承关系

2.子类要重写父类的方法

3.父类引用指向子类对。

二、绑定:把一个方法与其所在的类/对象 关联起来叫做方法的绑定。绑定分为静态绑定(前期绑定)和动态绑定(后期绑定)。

2.1、 静态绑定

在程序运行前就已经知道方法是属于那个类的,在编译的时候就可以连接到类的中,定位到这个方法。具体过程就是执行这个方法,只要到这个类的方法表里拿出这个方法在内存里的地址,然后就可以执行了。

在Java中,final、private、static修饰的方法以及构造函数都是静态绑定的,不需程序运行,不需具体的实例对象就可以知道这个方法的具体内容。 

2.2、 动态绑定

    方法表:以数组的形式记录了当前类及其所有超类的可见方法字节码在内存中的直接地址 。

https://blog.youkuaiyun.com/zcxwww/article/details/51303928

    http://www.cnblogs.com/ygj0930/p/6554103.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值