12月6日汇报

什么是多态:

同类型的对象,表现出不同的形态(对象的多种形态)

多态的表现形式:

父类类型 对象名称=子类对象

多态的前提:

1:有继承关系/实现关系

2:有父类引用子类对象

3:有方法的重写

fu f=new zi()

 多态的好处:

使用父类型作为参数,可以接受所有子类对象,体现了多态的扩展性便利

调用成员方法:编译看左边,运行看右边

编译看左边:javac在编译代码时,会看左边的父类有没有这个方法,如果有,编译成功,没有则编译失败

运行看右边:javac运行代码时,实际上是运行的是子类的方法

调用成员变量:编译看左边,运行也看左边

编译看左边:javac在编译代码时会看左边父类有没有这个变量,如果有,则编译成功.没有则失败

运行看右边:javac在运行时实际上是运行的父类的成员变量

成员变量:在子类的对象中,会把父类的成员变量也继承下去.name-----父  name----子

成员方法:如果子类对方法进行了重写,那么在虚方法表中是会把父类的放哪发进行覆盖的

 多态的弊端:

1:不能调用子类的特有功能

2:当调用成员方法时,编译看左边,运行看右边

解决方法:

变回子类对象就可以了

细节:转换的时候不能瞎转换,如果转换成其他的类的类型,就会报错

强制类型转换能解决什么问题:

1:可以转换成真正的子类类型,从而调用子类独有的功能

2:转换类型与真是对象类型不一致会报错

3:转换的时候用instanceof关键字进行判断

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值