多态

多态:同类型的对象,表现出的不同形态
1.表现形式
父类类型 对象名称=子类对象
2.前提

  • 有继承\实现关系
  • 有父类引用指向子类对象
  • 有方法重写

3.多态调用成员的特点
变量调用 编译看左边,运行看左边
方法调用 编译看左边,运行看右边
fu f=new zi()

javac编译代码的时候会看左边的父类有没有这个变量,有这编译成功
java运行代码的时候实际获取的是左边父类成员变量的值

4.多态的优势和弊端

优势:方法中,使用父类型作为参数,可以接受所有子类对象

弊端:不能使用子类的特有功能

引用数据类型的类型转换:自动类型转换,强制类型转换

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

  • 可以转换成真正的子类类型,从而调用子类的独有功能
  • 不一致会报错
  • 转换的时候可以用instanceof关键字进行判断

if(a instanceof Dog d)  如果a是Dog,则true,把a转换为d

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐