【发布时间】:2013-02-03 14:06:46
【问题描述】:
考虑以下 Java 类:
public class Animal {
public static void printText(Object obj) {
System.out.println(obj.toString());
}
}
class Tiger extends Animal {
// Contains some unimportant methods.
}
现在,当在 main 方法中键入以下内容时,编译器不会给出任何错误,即使该转换会导致错误。为什么?
public static void main(String[] args) {
Animal animal = new Animal();
((Tiger)animal).printText(animal); // <= ?? no error in the compiler ??
}
【问题讨论】:
-
抛出异常。打印编译器错误。不要迷惑自己。
标签: java compiler-construction compiler-errors