The Java Program: AccessMethod.java
1
2
3 class AM1 {
4 String s() { return "1"; }
5 }
6 class AM2 extends AM1 {
7 String s() { return "2"; }
8 }
9 class AM3 extends AM2 {
10 String s() { return "3"; }
11 void test() {
12 System.out.println("s()=\t\t"+s());
13 System.out.println("super.s()=\t"+super.s());
14 System.out.print("((AM2)this).s()=\t");
15 System.out.println(((AM2)this).s());
16 System.out.print("((AM1)this).s()=\t");
17 System.out.println(((AM1)this).s());
18 System.out.print("((AM4)this).s()=\t");
19 if (this instanceof AM4) {
20 System.out.println(((AM4)this).s());
21 }
22 }
23 }
24
25 class AM4 extends AM3 {
26 String s() { return "4"; }
27 }
28
29
30 class AccessMethod {
31 public static void main (String[] args) {
32 System.out.println ("AM3 object");
33 new AM3().test();
34 System.out.println ("\n(AM3) AM4 object");
35 ((AM3) new AM4()).test();
36 }
37 }