posts - 1,  comments - 2,  trackbacks - 0
               昨天晚上看書時發現一個內部類的例子,寫得很簡單,不過挺不錯的。這里再添加一些農民自己的例子。

          書上的例子:
           1/**
           2 *@author Tommylee
           3 */

           4public class  ExtendsClass
           5{
           6    class Class1G
           7    {
           8        public Class1G(){
           9            System.out.println("I am Class1G.");
          10        }

          11    }

          12
          13    class Class2G extends Class1G
          14    {
          15        public Class2G(){
          16            System.out.println("I am Class2G.");
          17        }

          18    }

          19
          20    class Class3G  extends Class2G
          21    {
          22        public Class3G(){
          23            System.out.println("I am Class3G.");
          24        }

          25    }

          26
          27    class Class4G  extends Class3G
          28    {
          29        public Class4G(){
          30            System.out.println("I am Class4G.");
          31        }

          32    }

          33
          34    public void testClassExtends(){
          35        new Class4G();
          36    }

          37
          38    public static void main(String[] args) 
          39    {
          40        ExtendsClass ex = new ExtendsClass();
          41        ex.testClassExtends();
          42    }

          43}

          44
          執行結果:
          I am Class1G.
          I am Class2G.
          I am Class3G.
          I am Class4G.

          其實這個例子挺簡單,主要就是為了說明繼承的時候其構造函數的執行順序(構造一個類的實例的時候,會一次調用其父類的構造函數。)     大家如果對這個有疑問 可以自己在L40打一個斷點,DEBUG一下。
                 不過,這里其實改造一下代碼就可以體現出另外幾個知識點。(農民也不知道自己搞全了沒 興趣一下而已)

          如 我們可以來嘗試幾種實例化內部類的方式
          第一種方式
           1/**
           2 *@author Tommylee
           3 */

           4public class  ExtendsClass
           5{
           6    class Class1G
           7    {
           8        public Class1G(){
           9            System.out.println("I am Class1G.");
          10        }

          11    }

          12
          13    class Class2G extends Class1G
          14    {
          15        public Class2G(){
          16            System.out.println("I am Class2G.");
          17        }

          18    }

          19
          20    class Class3G  extends Class2G
          21    {
          22        public Class3G(){
          23            System.out.println("I am Class3G.");
          24        }

          25    }

          26
          27    class Class4G  extends Class3G
          28    {
          29        public Class4G(){
          30            System.out.println("I am Class4G.");
          31        }

          32    }

          33
          34    //***modify by Tommyle 06/03 start
          35    //public void testClassExtends(){
          36    //    new Class4G();
          37    //}
          38
          39    public static void main(String[] args) 
          40    {
          41        ExtendsClass ex = new ExtendsClass();
          42        ex.new Class4G();
          43    }

          44
          45    //***modify by Tommyle 06/03 end
          46}

          47

          第二種
           1/**
           2 *@author Tommylee
           3 */

           4public class  ExtendsClass
           5{
           6    class Class1G
           7    {
           8        public Class1G(){
           9            System.out.println("I am Class1G.");
          10        }

          11    }

          12
          13    class Class2G extends Class1G
          14    {
          15        public Class2G(){
          16            System.out.println("I am Class2G.");
          17        }

          18    }

          19
          20    class Class3G  extends Class2G
          21    {
          22        public Class3G(){
          23            System.out.println("I am Class3G.");
          24        }

          25    }

          26
          27    class Class4G  extends Class3G
          28    {
          29        public Class4G(){
          30            System.out.println("I am Class4G.");
          31        }

          32    }

          33
          34    //***modify by Tommyle 06/03 start
          35    //public void testClassExtends(){
          36    //    new Class4G();
          37    //}
          38
          39    public static void main(String[] args) 
          40    {
          41        Class4G CG = new ExtendsClass().new Class4G();
          42    }

          43
          44    //***modify by Tommyle 06/03 end
          45}

          46

          第三種
           1/**
           2 *@author Tommylee
           3 */

           4public class  ExtendsClass
           5{
           6    class Class1G
           7    {
           8        public Class1G(){
           9            System.out.println("I am Class1G.");
          10        }

          11    }

          12
          13    class Class2G extends Class1G
          14    {
          15        public Class2G(){
          16            System.out.println("I am Class2G.");
          17        }

          18    }

          19
          20    class Class3G  extends Class2G
          21    {
          22        public Class3G(){
          23            System.out.println("I am Class3G.");
          24        }

          25    }

          26
          27    class Class4G  extends Class3G
          28    {
          29        public Class4G(){
          30            System.out.println("I am Class4G.");
          31        }

          32    }

          33
          34    //***modify by Tommyle 06/03 start
          35    //public void testClassExtends(){
          36    //    new Class4G();
          37    //}
          38
          39    public static void main(String[] args) 
          40    {
          41        ExtendsClass.Class4G CG = new ExtendsClass().new Class4G();
          42    }

          43
          44    //***modify by Tommyle 06/03 end
          45}

          46

          不知道還有沒有其他方式  這種情況下的 俺就用過這些了 呵呵 望指教
          posted on 2008-06-03 14:35 上網的農民 閱讀(127) 評論(0)  編輯  收藏 所屬分類: JAVA

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          正在JAVA的路上努力著,沒有目的地,只想一直向前~~~~~~~~

          常用鏈接

          留言簿(2)

          隨筆檔案(1)

          文章分類(2)

          文章檔案(2)

          百科

          搜索

          •  

          最新評論

          主站蜘蛛池模板: 灌云县| 平江县| 肥西县| 罗甸县| 双辽市| 阿克| 衡阳市| 循化| 利川市| 云南省| 宜兰市| 井陉县| 铜陵市| 南京市| 泸西县| 礼泉县| 甘肃省| 加查县| 长沙县| 西峡县| 招远市| 东安县| 漳州市| 方山县| 台北县| 麻城市| 克山县| 宕昌县| 黄梅县| 图片| 北海市| 齐齐哈尔市| 固阳县| 大方县| 邳州市| 新龙县| 广河县| 房山区| 永嘉县| 贵港市| 太保市|