黑马程序员技术交流社区

标题: java多态问题 [打印本页]

作者: scalar    时间: 2016-5-22 22:40
标题: java多态问题
一道java多态题

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(B obj){  
                return ("B and B");  
         }  
         public String show(A obj){  
                return ("B and A");  
         }   
}  
class C extends B{}   
class D extends B{}  

public class test{

        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));
               
        }
}



输出结果:
A and A
A and A
A and D
B and A
B and A
A and D
B and B
B and B
A and D
对以上的输出不是很理解,特别是第4个,有没有大神能帮帮我?
作者: 我love    时间: 2016-5-23 01:00
我也看疯掉啦




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2