多态

重载Overload和重写Override

  1. 重载-参数列表不同,与返回值无关
  2. 重写-父类中方法声明一模一样的方法,与返回值一致(或是子父类的)

两种意义上的多态:

  1. 一种是操作名称的多态,即有多个操作具有相同的名字,但这些操作所接受的消息类型必须不同。重载
  2. 一种是和继承有关的多态,是指同一个操作被不同类型对象调用时可能产生不同的行为。父类引用指向子类对象  重写

重写父类方法时,不可以降低方法的访问权限。例:class A{protected float f(){}}  class B extends A{float f(){}}非法 class C extends A(){public float f(){}}

若子类重写了父类的静态方法,那么子类对象的上转型对象不能调用子类重写的静态方法,只能调用父类的静态方法

 

posted @ 2020-11-29 19:59  DFrank001  阅读(70)  评论(0编辑  收藏  举报