次のコードについて,
1.java Main を実行した場合の出力
2.java A を実行した場合の出力
3.java B を実行した場合の出力
4.java C を実行した場合の出力
5.java D を実行した場合の出力
はどのようになるのかを求めたいのですが,答えが分かりません.
教えて下さい.よろしくお願いします.
java
1public class Main { 2 public static void main(String[] args) { 3 A a = new D(); 4 a.m(); 5 } 6} 7public class A { 8 protected String a = "a"; 9 public void m() { 10 System.out.println(a); 11 } 12 public static void main(String[] args) { 13 A a = new B(); 14 a.m(); 15 } 16} 17public class B extends A { 18 private String b = "b"; 19 public void m() { 20 System.out.println(b); 21 } 22 public static void main(String[] args) { 23 A a = new C(); 24 a.m(); 25 } 26} 27 28public class C extends A { 29 private String c = "c"; 30 public void m() { 31 System.out.println(a); 32 } 33 34 public static void main(String[] args) { 35 A a = new A(); 36 a.m(); 37 } 38} 39public class D extends A { 40 public void m() { 41 a = "d"; 42 super.m(); 43 } 44 public static void main(String[] args) { 45 A a = new B(); 46 a.m(); 47 } 48}