![]()
class Parent {
2 /* 静态变量 */
3 public static String p_StaticField = "父类--静态变量";
4 /* 变量 */
5 public String p_Field = "父类--变量";
6 protected int i = 9;
7 protected int j = 0;
8 /* 静态初始化块 */
9 static {
10 System.out.println( p_StaticField );
11 System.out.println( "父类--静态初始化块" );
12 }
13 /* 初始化块 */
14 {
15 System.out.println( p_Field );
16 System.out.println( "父类--初始化块" );
17 }
18 /* 构造器 */
19 public Parent()
20 {
21 System.out.println( "父类--构造器" );
22 System.out.println( "i=" + i + ", j=" + j );
23 j = 20;
24 }
25 }
26
27 public class SubClass extends Parent {
28 /* 静态变量 */
29 public static String s_StaticField = "子类--静态变量";
30 /* 变量 */
31 public String s_Field = "子类--变量";
32 /* 静态初始化块 */
33 static {
34 System.out.println( s_StaticField );
35 System.out.println( "子类--静态初始化块" );
36 }
37 /* 初始化块 */
38 {
39 System.out.println( s_Field );
40 System.out.println( "子类--初始化块" );
41 }
42 /* 构造器 */
43 public SubClass()
44 {
45 System.out.println( "子类--构造器" );
46 System.out.println( "i=" + i + ",j=" + j );
47 }
48
49
50 /* 程序入口 */
51 public static void main( String[] args )
52 {
53 System.out.println( "子类main方法" );
54 new SubClass();
55 }
56 }
结果:
父类--静态变量
父类--静态初始化块
子类--静态变量
子类--静态初始化块
子类main方法
父类--变量
父类--初始化块
父类--构造器
i=9, j=0
子类--变量
子类--初始化块
子类--构造器
i=9,j=20