假设我有以下课程
class A{
public method(A a) {
System.out.println(3);
}
}
class B extends A{
public void method (A a) {
System.out.println(2);
}
public void method (B b) {
System.out.println(1);
}
}
A obj = new B();
obj.method( (B) obj);
((B) obj).method( (B) obj);
第一个方法调用打印出 2,而第二个方法调用打印出 1。为什么两个方法调用都不打印出 1?