4, 什么是多态
同一个引用类型, 使用不同的实例, 得到不同的结果
5, 实现多态的三个要素是什么
继承, 方法重写, 父类引用指向子类对象
1, 使用多态时: 是使用父类的类型, 但是对象还是子类对象
2, 如果子类不重写父类方法, 那么当使用多态时, 是不能调用子类独有的方法
(谁的类型, 调谁的方法)
3, 但是当子类重写父类方法, 使用多态调用的方法, 看似是父类中的方法,
但实际是子类中重写过父类的哪个方法
当: 父类引用指向子类对象 / 父类类型创建子类对象时
这个对象不能够使用子类独有的方法
当使用多态时: 创建对象必须是 ---- 父类类型 对象名 = new 子类构造方法
抽象类: 表示这个类的对象是不存在的, 因此抽象类不能够被实例化对象
但是可以用它的类型来创建对象, 通常是创建子类对象, 也就是多态
因此不需要具体实现的方法, 可以把这个方法定义为抽象方法
(抽象方法没有方法体)
抽象类中可以有非抽象方法和抽象方法, 但是抽象方法只能存在于抽象类中
实现多态的两种方式: 使用父类作为方法参数, 使用父类作为方法返回值
来源: http://www.bubuko.com/infodetail-2929568.html