码迷,mamicode.com
首页 > 编程语言 > 详细

Java中多态的实例

时间:2015-06-03 13:16:39      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:

 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 }

 

Java中多态的实例

标签:

原文地址:http://www.cnblogs.com/boeing-bick/p/4548851.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!