JAVA多态性

定义:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)
多态的前提和体现
  1. 要有继承关系
  2. 有方法重写
  3. 有父类引用指向子类对象

父类引用指向子类对象

JAVA多态性_第1张图片JAVA多态性_第2张图片
JAVA多态性_第3张图片

多态成员访问特点:

  1. 成员变量
编译看左边,运行看左边
  1. 构造方法
构建子类对象时,会访问父类构造方法
  1. 成员方法
编译看左边,运行看右边
  1. 静态成员方法
编译看左边,运行看左边 

向上向下转型

  • 上转型:是子类对象由父类引用,
  • 格式:parent p=new son
    也就是说,想要上转型的前提必须是有继承关系的两个类。
  • 在调用方法的时候,上转型对象只能调用父类中有的方法
  • 如果调用子类的方法则会报错
  • 下转型:是父类向下强制转换到子类对象
  • 前提是该父类对象必须是经过上转型的对象。
例:

JAVA多态性_第4张图片JAVA多态性_第5张图片JAVA多态性_第6张图片JAVA多态性_第7张图片

例2:

JAVA多态性_第8张图片
JAVA多态性_第9张图片
JAVA多态性_第10张图片

你可能感兴趣的:(JAVA多态性)