Java使用早期绑定来确定调用哪个方法,但我的问题是如何确定它应该调用
private static void confuse(RuntimeException对象)
不是其他两种方法?
/**
* @param args
*/
public static final void main(String[] args) {
confuse(null);
}
private static void confuse(Object object) {
System.out.println("object");
}
private static void confuse(RuntimeException object) {
System.out.println("RuntimeException ");
}
private static void confuse(Exception object) {
System.out.println("Exception ");
}
如果我使用null调用confuse,它应该给出编译错误,因为null可以是所有三个类的值。请解释输出。