JAVA多态----动态绑定机制

1.正常情形

2.方法的动态绑定机制--------如果运行类有方法可调用,仍然优先调用运行类中的方法

我们把B类中的sum01() 注释掉,a调用sum01()时候发现运行类型B类中没有sum01(),然后向上查找到父类A中的sum01()方法,里面有一个getI()方法。由于方法的动态绑定机制,调用的getI()方法仍然为B类中的getI方法,B类中的getI()方法返回属性i,注意这次返回的属性i是B类中的属性i,因为调用的getI()方法就再B类中,所以就直接返回的也是B类中的方法

 

3.属性没有动态绑定机制--------在哪个类中声明就调用哪个类的属性

这次我们把B类中的sum01() 和sum02()方法都注释掉,a.sum01()结果同前

a调用sum02()时候发现运行类型B类中没有sum02(),然后向上查找到父类A中的sum02()方法,A中的sum02()方法返回i+10,这里的i就直接是A类中的属性i=10,所以sum02()返回值为10+10=20

 4.实际案例分析

teacher和student都继承了preson类 公有属性name,age,公有方法say()

teacher有特有属性salary,特有方法teach()

student有特有属性score,特有方法study()

 

  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值