class A{
void m1(A a) {System.out.print("A");}
}
class B extends A{
void m1(B b) {System.out.print("B");}
}
class C extends B{
void m1(C c) {System.out.print("C");}
}
public class d {
public static void main(String[] args) {
A c1 = new C(); C c2 = new C();c1.m1(c2);
}}
此代码的输出是'A'
.
但是,如果我将 A 类修改为:
class A{
void m1(C a) {System.out.print("A");}
}
那么输出是'C'
. 有人可以解释一下这段代码是如何工作的吗?