Java and Java
1 public class cf {2 3/** 4 * In fact, the method call priority is involved here. The 5 * priority ranges from high to low: 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); // 7B and B21 System. out. println (B. show (c); // returns 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 "); 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 "); 43} 44} 45 46 class C extends B {47} 48 49 class D extends B {50}
Copy the Translation results to Google
Search
Copy