如果类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是您将传递给特定方法的参考值。

09-17 02:30