emu in blogjava

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            171 隨筆 :: 103 文章 :: 1052 評論 :: 2 Trackbacks
          一個面向?qū)ο蟮恼Z言往往都是通過package把對象組織起來的,但是很奇怪居然沒有找到groovy的package方面的資料,難道groovy不支持?那么我們怎么用groovy來設計負責一點的程序呢?還是做試驗試試吧:

          Dog.groovy:

           1package com
           2class Dog {
           3    public def name;
           4    def bark ()  {
           5        println("barking")
           6    }

           7    def say ()  {
           8        println("My name is "+name);
           9    }

          10}

          11


          嗯,一只會說一句話的狗,還回吠哦。

          編譯一下看看有沒有錯: groovyc Dog.groovy
          嗯,沒有錯,而且在當前目錄下生成了一個com目錄,其中有Dog.class文件

          再建一個類來引用這個類  trainDog.groovy:
          1dog = new com.Dog(name:"Doggie");
          2dog.bark();
          3dog.say();
          4



          運行……失敗了:

          Caught: General error during class generation: No such class: com.Dog in constructor call for class: trainDog. At [1:7] D:\groovy\mygroovy\com\trainDog.groovy

          一番努力之后,始終無法讓 trainDog.groovy運行起來,但是反編譯這兩個groovy生成的class文件看起來又很正確。算了,用java來運行它吧(還好一開始就配置了editplus下面的調(diào)試環(huán)境,下面的命令由editplus自動生成,不用自己敲了)

          D:\jdk1.5.0\bin\java.exe -classpath .;d:\groovy\groovy-1.0-jsr-01.jar;d:\groovy\lib\asm-1.5.2.jar trainDog

          果然不錯:

          ---------- java ----------
          barking
          My name is Doggie
          Normal Termination
          輸出完成(耗時 0 秒)。


          看來groovy雖然可以直接運行,卻不能直接相互引用。進行復雜應用的時候還是要先編譯好以便他們可以相互引用類文件。此外groovy編譯器會自動為包創(chuàng)建對應的目錄,所以所有的groovy不管分散到多少包里面都要在同一個目錄(所有包的上一層)下面編譯。

          posted on 2005-05-19 18:37 emu 閱讀(2047) 評論(3)  編輯  收藏 所屬分類: Groovy 學習筆記

          評論

          # re: Groovy 學習筆記4 package 2005-10-03 16:56 順路走過
          這個好像不是groovy的問題。
          類似的東西,偶屢試不爽。而且,前面那個Dog.groovy并不需要編譯  回復  更多評論
            

          # re: Groovy 學習筆記4 package 2005-10-04 15:03 emu
          >>這個好像不是groovy的問題
          呵呵就象朋友經(jīng)常批評的,這是人品問題。我覺得這個問題上groovy沒有提供一個簡單的解決方案。

          >>類似的東西,偶屢試不爽
          是指的什么?import嗎?怎么做呢?

          >>前面那個Dog.groovy并不需要編譯
          是指的運行不需要編譯還是被其他groovy腳本import之前不需要編譯呢?  回復  更多評論
            

          # re: Groovy 學習筆記4 package 2006-04-30 16:18 theone
          這個問題我也碰到了,不完美的地方  回復  更多評論
            

          主站蜘蛛池模板: 崇仁县| 赞皇县| 宜春市| 易门县| 遂川县| 来凤县| 十堰市| 友谊县| 安西县| 田东县| 通化县| 栖霞市| 澎湖县| 丰城市| 松滋市| 荥经县| 布尔津县| 六安市| 章丘市| 黑水县| 陆河县| 都匀市| 安多县| 四川省| 迭部县| 灵山县| 浦江县| 沙河市| 都江堰市| 班玛县| 鄄城县| 黑山县| 高陵县| 长汀县| 莎车县| 华安县| 澄城县| 浑源县| 乐安县| 兴安县| 巨鹿县|