欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

多态-重温

程序员文章站 2022-03-15 18:52:17
...

多态

太搞笑了,我居然以为自己懂多态了,今天复习一下 反正自己太多得不足

  1. 什么是多态:就是指一个引用(类型)在不同的情况下的多种状态
  2. 多态存在的三个必要条件:继承 重写 父类指向子类
  3. 预备知识:向上转型
  4. 多态链优先级
  5. 多态的好处:替换 扩充 灵活 等等

如何使用:

父类对象指向子类对象:

1)person为父类,student为子类。那么:person p=new student();
2)fliable为接口,bird为实现接口的类,那么:fliable f=new bird();
3)fliable为抽象类,bird为继承fliable的类,那么:fliablef=new bird();

注意:父类类型的引用可以调用父类中定义的所有属性和方法,而对于子类中定义而父类中没有的方法,它是无可奈何的

注意:父类类型的引用可以调用父类中定义的所有属性和方法,而对于子类中定义而父类中没有的方法,它是无可奈何的

注意:父类类型的引用可以调用父类中定义的所有属性和方法,而对于子类中定义而父类中没有的方法,它是无可奈何的

## 优先级:
java继承链中方法调用优先级.顺序:
this.show(object)>super.show(object)
>this.show((super)object)>super.show((super))

复习重写 :子类的方法必须和父类要重写的方法 方法名,参数列表,返回值一样

优先级说明:
1.查找子类重写的方法,有则调用,无则下一步
2.调用父类方法(同参数 同名),若不同参下一步
3.对参数向上转型 重复1 2步骤

太久了 居然忘了 果然 复习 可以查缺补漏!

原则:当超类对象引用变量引用子类对象时,被引用对象的类型而不是引用变量的类型决定了调用谁的成员方法,但是这个被调用的方法必须是在超类中定义过的,也就是说被子类覆盖的方法。

相关标签: 多态