[java基础揉碎]动态绑定机制

介绍: 

详例: 

 新建一个父类:

 

 新建一个子类继承父类:

这里有个main方法, 创建了一个向上转型的对象 , 这时因为对象的运行类型是b, 所以下面打印走的b方法得到40 , 30 

 

如果我们将子类的sum注销, 那么调用的这个方法后去找父类, 我们发现父类的sum调用的geti, 此时这个geti在父类子类当中都有, 回去调那个geti, 在此处就发生了动态绑定机制, 此时会去掉子类的geti因为对象的运行类型是子类B, 也就是当调用对象方法的时候,该方法会和该对象的内存地址/运行类型绑定

 如果我们将子类的sum1注销掉, 此时对象去掉的sum1就会走父类的sum1, 父类当中的sum1去调用了属性i, 此时这个属性i在父类子类当中都有, 那么这个i会用哪一个? 会用父类的i, 因为属性不会进行动态绑定,即当调用对象属性时,没有动态绑定机制,哪里声明,哪里使用

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值