动态绑定(图解)以及对象的调用过程和注意事项(详细哦)

本文详细解释了Java中的动态绑定概念,包括编译时类型与运行时类型的区别,以及动态绑定如何在子类和父类方法中工作。通过一个例子展示了Person和Student类如何体现动态绑定。此外,还介绍了对象的调用过程,包括方法选择和方法表的使用。文章最后提到了使用instanceof和强制类型转换的注意事项,以及子类重写父类方法时访问权限的要求。
摘要由CSDN通过智能技术生成

动态绑定

什么是动态绑定和静态绑定
动态绑定“在编译期间已经把对象和方法进行了绑定。 除此之外, 如果调用的方法要一依赖于对象的实际类型, 在运行时实现对象和方法的绑定

静态绑定:如果是private, static, final修饰的方法或者构造器, 那么编译器可以准确的知道应该调用哪个方法

首先我们要来了解一下编译时类型和运行时类型
编译时类型是由声明该变量时使用的类型决定。
运行时类型由实际赋给该变量的对象决定。
如果编译型类型与运行时类型不一致的话,就会发生运行时动态绑定。

如:Person是Student的超类

在Person里有方法say()

public void say(){
   
	System.out.print("我是个人");
}

在Student里有也方法say()

public void say(){
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值