javan

          i like java
          隨筆 - 0, 文章 - 28, 評論 - 2, 引用 - 0
          數(shù)據(jù)加載中……

          java編程思想3中的實例(AnonymousConstructor.java)

          // Creating a constructor for an anonymous inner class.   
          // From 'Thinking in Java, 3rd ed.' (c) Bruce Eckel 2002   
          // www.BruceEckel.com. See copyright notice in CopyRight.txt.   
          import com.bruceeckel.simpletest.*;   
          #   

            //其間認識到了以前理解上的 錯誤:抽象類是可以有構(gòu)造函數(shù)的,并且僅僅是抽象類中的抽象方法不能有方法體
            //在
          AnonymousConstructor類中定義內(nèi)部類時,依然調(diào)用Base類中的構(gòu)造函數(shù)



          abstract class Base {   
          #   
          public Base(int i) {   //匿名內(nèi)部類是引用的外部定義的對象,編譯器會要求其參數(shù)引用是final型(而本例中在getBase(int i)方法中的i不是final類型,是因為i沒有在外部類base中使用)
          #     System.out.println(
          "Base constructor, i = " + i);   
          #   }   
          #   
          public abstract void f();   
          # }   
          #    
          public class AnonymousConstructor {   
          #   
          private static Test monitor = new Test();   
          #   
          public static Base getBase(int i) {   //定義在靜態(tài)方法中的內(nèi)部類----匿名內(nèi)部類---return new Base(i)類似于class Base{ Base(i)...的聲明
          #     
          return new Base(i) {   
          #       {   
          #         System.out.println(
          "Inside instance initializer");   
          #       }   
          #       
          public void f() {   
          #         System.out.println(
          "In anonymous f()");   
          #       }   
          #     }; //此處有個分號,表明表達式的結(jié)束 
          #   }   
          #   
          public static void main(String[] args) {   
          #     Base base 
          = getBase(47);   
          #     base.f();   
          #     monitor.expect(
          new String[] {   
          #       
          "Base constructor, i = 47",   
          #       
          "Inside instance initializer",   
          #       
          "In anonymous f()"   
          #     });   
          #   }   
          # } 
          ///:~ 

          posted on 2009-05-22 16:44 whl 閱讀(118) 評論(0)  編輯  收藏


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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 陵川县| 义马市| 蕲春县| 景泰县| 茌平县| 江永县| 连城县| 夏津县| 丰镇市| 萨迦县| 芜湖市| 安龙县| 交城县| 朔州市| 定兴县| 龙江县| 余干县| 姜堰市| 衢州市| 西乌珠穆沁旗| 陇川县| 纳雍县| 北安市| 汉沽区| 蒲江县| 太湖县| 弥渡县| 永春县| 水城县| 淮滨县| 普陀区| 濮阳县| 昌平区| 武城县| 车险| 扎鲁特旗| 紫金县| 巴南区| 西昌市| 宜宾市| 东兰县|