在很多的源码中都是用了下述的这种方式来进行类型转换
public class Fruit {
public void peel() {
System.out.println("peel Fruit");
}
}
public class Apple extends Fruit {
public void peel() {
System.out.println("peel Apple");
}
public void eat() {
System.out.println("eat Apple");
}
}
public class Test {
public static void main(String[] args) {
Fruit fruit = new RedApple();
//fruit父类引用子类实例,先判断引用是否为子类对象实例,是则强制转换在调用父类方法
if(fruit instanceof Apple){
((Apple)fruit).eat();
}
}
}