多态的概念:
加粗样式同一个事物具有,多个同的表现形式**
多态的优点:
1.可替换性。多态对已存在的代码具有可替换性。
2.可扩充性。多态对代码具有可扩充性。增加新的子类不影响已存在类的多态性、继承性,以及其他特性的运行和操作。实际 上新加子类更容易获得多态功能。
3.接口性。多态是超类通过方法签名,向子类提供了一个共同接口,由子类来完善或者覆盖它而实现的。
4.灵活性。它在应用中体现了灵活多样的操作,提高了使用效率。
5.简化性。多态简化了对应用软件的代码编写和修改过程,尤其在处理大量对象的运算和操作时,这个特点尤为突出和重要。值得注意的是,多态并不能够解决提高执行速度的问题,因为它基于动态装载和地址引用,或称动态绑定。
使用多态的步骤:
1.编写具有继承关系的父类和子类
2.子类重写父类方法
3.使用父类的引用指向子类的对象**
实现多态的两种形式:
1.使用父类作为 方法形参 实现多态
2.使用父类作为方法返回值类型实现多态
两种转型:
1.向上转型(子类转父类)——自动转换
2.向下转型(父类转子类)——强制转换:配合instanceof使用
实现多态的思路:
1.具有继承关系,子类和父类,没有继承 就没有多态
2.子类必须要重写父类的方法 代码中一般,父类中写一个抽象方法,子类重写这个方法
3.父类引用指向子类对象 Pet pet=new Dog();
向上转型 而且代码中 只能向上转型 ,不能向下转型 Dog dog=new Pet();这样不行
多态存在的条件:
1.有继承关系
2.子类重写父类方法
3.父类引用指向子类对象
注意:多态是方法的多态,属性没有多态性。