你的位置:首页 > Java教程

[Java教程]Java中多态的实例


 1 public class cf { 2  3   /** 4    * 实际上这里涉及方法调用的优先问题, 5    * 优先级由高到低依次为:this.show(O)、super.show(O)、this.show((super)O)、super.show((super)O)。 6   */ 7   public static void main(String[] args) { 8  9     A a1 = new A();10     A a2 = new B();11     B b = new B();12     C c = new C();13     D d = new D();14     System.out.println(a1.show(b)); // ① A and A15     System.out.println(a1.show(c)); // ② A and A16     System.out.println(a1.show(d)); // ③ A and D17     System.out.println(a2.show(b)); // ④ B and A18     System.out.println(a2.show(c)); // ⑤ B and A19     System.out.println(a2.show(d)); // ⑥ A and D20     System.out.println(b.show(b)); // ⑦ B and B21     System.out.println(b.show(c)); // ⑧ B and B22     System.out.println(b.show(d)); // A and D23   }24 }25 26 class A {27   public String show(D obj) {28     return ("A and D");29   }30 31   public String show(A obj) {32     return ("A and A");33   }34 }35 36 class B extends A {37   public String show(B obj) {38     return ("B and B");39   }40 41   public String show(A obj) {42     return ("B and A");43   }44 }45 46 class C extends B {47 }48 49 class D extends B {50 }

 

复制去Google翻译翻译结果
 

搜索

复制