具有重载的 Java 函数调用
2022-09-04 06:51:37
我想知道为什么第三个输出不是b。
这是我的代码:
public class SimpleTests {
public void func(A a) {
System.out.println("Hi A");
}
public void func(B b) {
System.out.println("Hi B");
}
public static void main(String[] args) {
A a = new A();
B b = new B();
A c = new B();
SimpleTests i = new SimpleTests();
i.func(a);
i.func(b);
i.func(c);
}
}
class A {}
class B extends A {}
这是输出:
Hi A
Hi B
Hi A
有人能告诉我为什么第3个输出是,而不是。因为实数 c 是 B 的一个实例。Hi A
Hi B