一.向上转型
向上转型:将创建的子类对象当做父类对象来使用。
下面是向上转型的三种方法。
1.直接赋值
通过创建父类Animal,和子类Cat,例如下图,将子类Cat从小范围转到父类Animal大范围从而实现向上转型。
![图例一](https://img-blog.csdnimg.cn/direct/f5404555f8574982b1b332e787110e0b.png)
2.方法传参
方法的形参为父类型引用,可以接收任意子类的对象,例如下图。
3.方法返回
通过将返回值转化为Animal即父类类型,从而将子类向上转型。如下图
向上转型的优缺点:
优点:让代码的实现更简单灵活。
缺点:子类向上转型后无法调用子类特有的方法。
因此我们就需要向下转型,来解决向上转型带来的问题。
二.向下转型
1.强制转换
用小括号来强制转型将animal强制转换为Cat,如下图。
2.instanceof关键字
因为我们平时行用中,向下转型用的比较少,而且强制转换不安全,为了提高向下转换的安全性,我们用instanceof关键字。