JAVA对象类型向上转型和向下转型
2022-05-05 本文已影响0人
在岁月中远行
1 向上转型:
假设有一个Fruit类,类中有一个show方法。
有一个Apple类继承自Fruit类,该类有自己的方法test(),并且重写了父类的show()方法,代码如下:
实例化Apple类,并新建一个Fruit类的引用变量指向子类Apple实例,并调用show方法。
此时可以看到,当我们想调用子类独有的方法 这是不行的。报红 。
当向上转型后,父类引用变量可以访问子类中属于父类的属性和方法,但是不能访问子类独有的属性和方法。
2 向下转型:
并不是所有的对象都可以向下转型,只有当这个对象原本就是子类对象通过向上转型得到的时候才能成功转型。
实例化Apple类,并新建一个Fruit类的引用变量"fruit"引用该实例,然后新建一个Apple类的引用变量,引用向下转型的"fruit"变量,代码如下: