多态

怎么理解?


package com.duotai.test;


    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{}




package com.duotai.test;

public class TestA {

    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("***************");
        System.out.println(a2.show(b));    
        System.out.println(a2.show(c));     
        System.out.println(a2.show(d)); 
        System.out.println("***************");
        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

你可能感兴趣的:(多态)