File: Inherit.java

package info (click to toggle)
bsh 1.1alpha5-1
  • links: PTS
  • area: contrib
  • in suites: woody
  • size: 2,336 kB
  • ctags: 2,083
  • sloc: java: 16,095; makefile: 134; sh: 51
file content (85 lines) | stat: -rw-r--r-- 1,184 bytes parent folder | download | duplicates (13)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
/*
 * Some cases where inheritance is supposed to work and some where it doesn't.
 * This source corresponds with the `inherit.bsh' test script.
 */

import InheritanceTest.*;

public class Inherit {

	public static void main(String[] args) {
		A wa;
		B wb;
		A xa;
		B xb;
		X x;
		A ya;
		B yb;
		C yc;
		Y y;
		A za;
		B zb;
		C zc;

		wa = Accessor.getWbyA();
		wb = Accessor.getWbyB();

		xa = Accessor.getXbyA();
		xb = Accessor.getXbyB();
		x  = Accessor.getX();

		ya = Accessor.getYbyA();
		yb = Accessor.getYbyB();
		yc = Accessor.getYbyC();
		y  = Accessor.getY();

		za = Accessor.getZbyA();
		zb = Accessor.getZbyB();
		zc = Accessor.getZbyC();

		wa.a();  
		
		wb.a();
		wb.b(); 

		// Can't access W (package scope), doesn't work with Reflection either.
		//((W)wa).w();
		
		xa.a();
		
		xb.a();
		xb.b();

		x.a();
		x.b();
		x.x();
		
		ya.a();

		yb.a();
		yb.b();

		yc.a();
		yc.c();

		y.a();
		y.b();
		y.c();
		y.w();  // Won't work with reflection, but works here.
		y.x();
		y.y();

		za.a();

		zb.a();
		zb.b();

		zc.a();
		zc.c();

		// We can do this with reflection.  Won't compile in Java, though.
		//((Z)za).x();

		System.out.println("OK");
	}
}