BigEgg.java
1 # //: c08:BigEgg.java
2 # // An inner class cannot be overriden like a method.
3 # // From 'Thinking in Java, 3rd ed.' (c) Bruce Eckel 2002 //本例的目的:為了測(cè)試內(nèi)部類是否會(huì)被重寫!!!答案:NO!!!
4 # // www.BruceEckel.com. See copyright notice in CopyRight.txt.
5 # import com.bruceeckel.simpletest.*;
6 #
7 # class Egg {
8 # private Yolk y;
9 # protected class Yolk { //在Egg類中定義了內(nèi)部類Yolk,并且是受保護(hù)的
10 # public Yolk() { System.out.println("Egg.Yolk()"); }
11 # }
12 # public Egg() {
13 # System.out.println("New Egg()");
14 # y = new Yolk();
15 # }
16 # }
17 #
18 # public class BigEgg extends Egg { //繼承自Egg類,并且也有內(nèi)部類Yolk
19 # private static Test monitor = new Test();
20 # public class Yolk {
21 # public Yolk() { System.out.println("BigEgg.Yolk()"); }
22 # }
23 # public static void main(String[] args) {
24 # new BigEgg(); //實(shí)例化BigEgg對(duì)象,將首先到其基類中查找無參構(gòu)造函數(shù)
25 # monitor.expect(new String[] { //將首先輸出New Egg(); 然后再實(shí)例化其內(nèi)部類賦值給y;并將輸出Egg.Yolk()
26 # "New Egg()", //而并沒有實(shí)例化BigEgg中的Yolk對(duì)象
27 # "Egg.Yolk()"
28 # });
29 # }
30 # } ///:~
2 # // An inner class cannot be overriden like a method.
3 # // From 'Thinking in Java, 3rd ed.' (c) Bruce Eckel 2002 //本例的目的:為了測(cè)試內(nèi)部類是否會(huì)被重寫!!!答案:NO!!!
4 # // www.BruceEckel.com. See copyright notice in CopyRight.txt.
5 # import com.bruceeckel.simpletest.*;
6 #
7 # class Egg {
8 # private Yolk y;
9 # protected class Yolk { //在Egg類中定義了內(nèi)部類Yolk,并且是受保護(hù)的
10 # public Yolk() { System.out.println("Egg.Yolk()"); }
11 # }
12 # public Egg() {
13 # System.out.println("New Egg()");
14 # y = new Yolk();
15 # }
16 # }
17 #
18 # public class BigEgg extends Egg { //繼承自Egg類,并且也有內(nèi)部類Yolk
19 # private static Test monitor = new Test();
20 # public class Yolk {
21 # public Yolk() { System.out.println("BigEgg.Yolk()"); }
22 # }
23 # public static void main(String[] args) {
24 # new BigEgg(); //實(shí)例化BigEgg對(duì)象,將首先到其基類中查找無參構(gòu)造函數(shù)
25 # monitor.expect(new String[] { //將首先輸出New Egg(); 然后再實(shí)例化其內(nèi)部類賦值給y;并將輸出Egg.Yolk()
26 # "New Egg()", //而并沒有實(shí)例化BigEgg中的Yolk對(duì)象
27 # "Egg.Yolk()"
28 # });
29 # }
30 # } ///:~
posted on 2009-05-22 17:13 whl 閱讀(111) 評(píng)論(0) 編輯 收藏