我们先来看一段代码,代码一:
public class Animal {
public void eat() {
System.out.println("animal eat");
}
public static void main(String[] args) {
Animal animal = new Animal();
Dog dog = (Dog) animal;
dog.eat();
}
}
class Dog extends Animal {
@Override
public void eat() {
System.out.println("dog eat");
}
}
上面这段代码可以正常输出吗?回答可以正常输出的,下面的内容要认真看啦。
Exception in thread "main" java.lang.ClassCastException:
上述代码输出类型转换异常,下面再看下这段代码的输出的结果,代码二:
public class Animal {
public void eat() {
System.out.println("animal eat");
}
public static void main(String[] args) {
Animal animal = new Dog();
Dog dog = (Dog) animal;
dog.eat();
}
}
class Dog extends Animal {
@Override
public void eat() {