1 class A
2 {
3 public static final int VAL = 3; // 不会导致A被加载
4 static
5 {
6 System.out.println("load A");
7 }
8 public A()
9 {
10 System.out.println("create A");
11 }
12 }
13 class B
14 {
15 public static final A AOBJ = new A(); //会导致B被加载
16 static
17 {
18 System.out.println("load B");
19 }
20 public B()
21 {
22 System.out.println("create B");
23 }
24 }
25 public class Test
26 {
27 public static void main(String[] args)
28 {
29 System.out.println(A.VAL);
30 System.out.println("---------------------");
31 System.out.println(B.AOBJ);
32 }
33 }
1 package com.tone.test;
2
3 public class Parent
4 {
5 public String name = "Kola";
6
7 public void call()
8 {
9 sayHello(this.name);
10 }
11 public void sayHello(String name)
12 {
13 System.out.println("parent: " + name);
14 }
15 }
16
17
18
19 package com.tone.test;
20
21 public class Child extends Parent
22 {
23 public String name = "Tom";
24
25 public Child()
26 {
27 super.name += "#";
28 System.out.println("===== " + super.name + ", " + name + " =====");
29 }
30 public void sayHello(String name)
31 {
32 System.out.println("child: " + name);
33 }
34 public static void main(String[] args)
35 {
36 new Child().call();
37 }
38 }
39
40
41 ===== Kola#, Tom =====
42 child: Kola#