多态详解

多态

基本介绍

方法或者对象具有多种形态,是面向对象的第三大特征,多态是建立在封装和继承基础之上的

具体体现

方法的多态

方法重载体现多态

对象的多态
  • 一个对象的编译类型和运行类型可以不一致
  • 编译类型在定义对象时就确定了,不能改变
  • 运行类型是可以变化的
  • 编译类型看定义时 = 的左边,运行类型看 = 的右边

注意事项

多态的前提是两个对象所在的类存在继承关系

多态向上转型
  1. 本质 父类的引用指向子类的对象
  2. 语法 父类类型 引用名 = new 子类型();
  3. 特点:
    • 编译类型看左边,运行类型看右边
    • 可以调用父类中的所有成员(遵守访问权限)
    • 不能调用子类中特有成员
    • 最终运行效果看子类的具体实现
多态向下转型
  1. 语法:子类类型 引用名= (子类类型)父类引用
  2. 只能强转父类的引用,不能强转父类的对象
  3. 要求父类的引用必须指向的是当前目标类型的对象
  4. 当向下转型后,可以调用子类类型中所有的成员
posted @ 2021-06-27 21:50  mx_info  阅读(10)  评论(0编辑  收藏  举报