如果类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吗?
最佳答案
您可以将null转换为任何引用类型,而不会出现任何异常。
输出将是
A
B
原因,在方法调用期间将考虑发送对象的类型。由于您分别具有A和B的类型转换,因此将通过在运行时传递的参数的Type(多态)来标识要调用的方法。
null是您将传递给特定方法的参考值。