• 什么是多态

    一个对象在不同时刻体现出来的不同形态

    • 多态的前提
      • 有继承/实现关系
      • 有方法重写
      • 父类的引用指向子类的对象

    • 多态的成员访问特点

      • 构造方法 : 和继承一样 , 子类通过super()访问父类的构造方法
      • 成员变量 : 编译看左边(父类) , 执行看左边(父类)
      • 成员方法 : 编译看左边(父类) , 执行看右边(子类)
    • 多态的转型

      • 向上转型 : 把子类类型数据转成父类类型数据 Animal a = new Cat();
      • 向下转型 : 把父类类型数据转成子类类型数据 Cat cat = (Cat)a;
    • 解决转型安全隐患

      • 使用关键字 instanceof
      • 作用 : 判断一个对象是否属于一种引用数据类型
      • 格式 : 对象名 instanceof 引用数据类型
        • 通俗的理解:判断关键字左边的变量,是否是右边的类型,返回boolean类型结果