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 A 15 System.out.println(a1.show(c)); // ② A and A 16 System.out.println(a1.show(d)); // ③ A and D 17 System.out.println(a2.show(b)); // ④ B and A 18 System.out.println(a2.show(c)); // ⑤ B and A 19 System.out.println(a2.show(d)); // ⑥ A and D 20 System.out.println(b.show(b)); // ⑦ B and B 21 System.out.println(b.show(c)); // ⑧ B and B 22 System.out.println(b.show(d)); // A and D 23  } 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 }
全部评论
哪copy过来的?不排版看着很累啊!
点赞 回复 分享
发布于 2015-07-01 10:59

相关推荐

评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务