如果类B
扩展了类A
:以下代码的输出是什么?
package com.swquiz.overloading;
public class TitBitOverloading7 {
public static void main(String[] args) {
overload((A)null);
overload((B)null);
}
public static void overload(A a) {
System.out.println("A");
}
public static void overload(B b) {
System.out.println("B");
}
}
Ans - A B. 我不知道怎么样?你能解释一下如何处理null。
答案 0 :(得分:1)
您可以将null转换为任何引用类型,而不会出现任何异常。
输出
A
B
原因,在方法调用期间将考虑发送的对象类型。由于你有一个分别为A和B的类型转换,所以将调用的方法由运行时传递的参数的类型(多态)标识
null是您将传递给特定方法的参考值。