Javaにおけるマルチステートのインスタンス

6428 ワード

 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 }

 
コピー Googleへの翻訳
翻訳結果
 
検索
コピー