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への翻訳
翻訳結果
検索
コピー