多态

2018-12-09  本文已影响0人  想飞的键盘手

成员变量 编译看左边 运行看左边
方法(非静态) 编译看左边 运行看右边
(编译的时候检查父类有没有改方法 运行的时候走子类的方法 )

向上转型

父类引用指向子类对象就是向上转型

向下转型(强制转换)

先有向上转型才有向下转型


捕获.PNG

多态的好处和弊端

多态的好处

  1. 提高了代码的维护性(继承保证)
  2. 提高了代码的扩展性(多态保证)
    实例
    可以当做形式参数,可以接收任意子类对象
    弊端
    不能使用子类特有的属性和行为()

很少在创建对象的时候直接使用父类引用指向子类对象
要使用子类特有方法需 判断类型 向下强转

boolean result = object instanceof class
//判断 instanceof 前边的引用是否是后边的数据类型
//还可以判断子父类的所属关系

一般都是父类定义了该方法 子类重写了该方法 通过动态绑定直接使用子类方法

上一篇下一篇

猜你喜欢

热点阅读