特别是a2.show( )输出的结果不理解。求大神指点第一次提问
class A {
public String show(D obj) {
return ("a and d");
}
public String show(A obj){
return "a and a";
}
}
class B extends A{
public String show(A obj){
return "b and a";
}
public String show(B obj){
return "b and b";
}
}
class C extends B{}
class D extends B{}
public class Test1{
public static void main(String[] args){
A a1=new A();
A a2=new B();
B b=new B();
C c=new C();
D d=new D();
System.out.println(a1.show(b));
System.out.println(a1.show(c));
System.out.println(a1.show(d));
System.out.println(a2.show(b));
System.out.println(a2.show(c));
System.out.println(a2.show(d));
System.out.println(b.show(b));
System.out.println(b.show(c));
System.out.println(b.show(d));
}
}