First they ignore you
          then they ridicule you
          then they fight you
          then you win
              -- Mahatma Gandhi
          Chinese => English     英文 => 中文             
          隨筆-221  評論-1047  文章-0  trackbacks-0
          由于內部類存在語義缺陷,所以JCP決定將在Java7或Java8中添加對Closure的支持。而Groovy一開始就洞察到了這點,所以在Groovy中沒有內部類,只有Closure,不過為了更好地兼容Java,將在未來的某個版本中支持內部類。現在讓我們看看Groovy是如何滿足Java開發人員對匿名類的需求的。

          1,實現接口
          interface ?Talkable?{
          ????
          void ?sayHello(String?name)
          }

          def?man?
          = ?[
          ????
          // ?實現接口
          ????sayHello:{String?name? -> ?println? " Hello,?$name " }
          ]?as?Talkable

          man.sayHello(
          " Daniel " )
          運行結果:
          Hello,?Daniel

          2,繼承抽象類
          abstract?class?Human?{
          ????
          abstract?void?sayHello(String?name)
          }

          def?man?
          =?[
          ????
          //?實現抽象方法
          ????sayHello:{String?name?->?println?"Hello,?$name"}
          ]?as?Human

          man.sayHello(
          "Daniel")
          運行結果:
          Hello,?Daniel


          其實說‘替代匿名類’有點不太貼切 :)

          附:朝花夕拾——Groovy & Grails
          posted on 2007-11-04 11:03 山風小子 閱讀(3260) 評論(8)  編輯  收藏 所屬分類: Groovy & Grails
          主站蜘蛛池模板: 大化| 桂阳县| 古丈县| 水富县| 吴江市| 杂多县| 兴山县| 鹿泉市| 吴川市| 乌审旗| 高密市| 周宁县| 周口市| 盈江县| 平定县| 建德市| 湛江市| 玉环县| 吉林省| 闵行区| 长治市| 佛坪县| 高要市| 太湖县| 渭南市| 红原县| 茌平县| 应用必备| 奎屯市| 巴南区| 兴和县| 通城县| 安图县| 德保县| 江城| 衢州市| 安远县| 安化县| 东兰县| 石渠县| 清新县|