多态

多态是Java面向对象的重要特性

认识多态:多态一词通常含义是指能够呈现出多种不同的形式或形态。而在程序设计的术语中,它意味着一个特定类型的变量可以引用不同类型的对象,并且能自动的调用引用的对象的方法,也就是根据作用到的不同对象类型,相应不同操作。

关键的步骤:>向上转型完成多态。

                     >向下转型完成调用子类方法。

        >转型前使用instanceof判断。

向上转型

子类想父类的转换称为向上转型。

语法格式如下:

<父类型><引用变量名>=new <子类型>();

好处:可以提高代码的复用性,解耦合

Pet对象无法调用子类特有的方法

通过父类引用变量调用的方法是子类覆盖或继承了父类的方法,不是父类的方法。

向下转型

如果想调用子类特有的方法,需要先判断是否为同一种类型,向下转型

语法格式如下:

<子类型><引用变量名>=(<子类型>) <父类型的引用变量>;

当传入Pet作为参数的时候,调用toHospital 的时候发现 pet类中没有这个方法,所以加入该方法,因为该方法在父类中不便给所有子类统一看病方法,所以设置成抽象方法。让其子类重写该方法

使用:

使用多态的好处:减少类中的代码量,提高代码的可扩展性可维护性。

原文地址:https://www.cnblogs.com/jiyaoyu/p/12906987.html