值得信赖的彩票平台

Groovy 教程


閱讀(2961.3k) 收藏 (38)

多端閱讀:

  • 在PC/MAC上查看 《Groovy 教程》:
    下載Groovy 教程離線版客戶端,進入客戶端后通過搜索當前教程手冊的名稱并下載,就可以查看當前離線教程文檔。
  • 在手機上查看《Groovy 教程》:
  • 在手機APP上查看 《Groovy 教程》:

    下載w3cschool手機App端 請從各大安卓應用商店、蘋果App Store搜索并下載w3cschool手機客戶端,在App中搜索當前教程手冊的名稱查看。

    App下載

手冊簡介:

Groovy是一種基于JVM(Java虛擬機)的敏捷開發語言,它結合了Python、Ruby和Smalltalk的許多強大的特性,Groovy 代碼能夠與 Java 代碼很好地結合,也能用于擴展現有代碼。由于其運行在 JVM 上的特性,Groovy 可以使用其他 Java 語言編寫的庫。

手冊說明:

簡介

Groovy是用于Java虛擬機的一種敏捷的動態語言,它是一種成熟的面向對象編程語言,既可以用于面向對象編程,又可以用作純粹的腳本語言。使用該種語言不必編寫過多的代碼,同時又具有閉包和動態語言中的其他特性。

Groovy是JVM的一個替代語言(替代是指可以用 Groovy 在Java平臺上進行 Java 編程),使用方式基本與使用 Java代碼的方式相同,該語言特別適合與Spring的動態語言支持一起使用,設計時充分考慮了Java集成,這使 Groovy 與 Java 代碼的互操作很容易。(注意:不是指Groovy替代java,而是指Groovy和java很好的結合編程。

基本特點

1、構建在強大的Java語言之上 并 添加了從Python,Ruby和Smalltalk等語言中學到的 諸多特征,例如動態類型轉換、閉包和元編程(metaprogramming)支持。

2、為Java開發者提供了 現代最流行的編程語言特性,而且學習成本很低(幾乎為零)。

3、支持DSL(Domain Specific Languages領域定義語言)和其它簡潔的語法,讓代碼變得易于閱讀和維護。

4、受檢查類型異常(Checked Exception)也可以不用捕獲。

5、Groovy擁有處理原生類型,面向對象以及一個Ant DSL,使得創建Shell Scripts變得非常簡單。

6、在開發Web,GUI,數據庫或控制臺程序時 通過 減少框架性代碼 大大提高了開發者的效率。

7、支持單元測試和模擬(對象),可以 簡化測試。

8、無縫集成 所有已經存在的 Java對象和類庫。

9、直接編譯成Java字節碼,這樣可以在任何使用Java的地方 使用Groovy。

10、支持函數式編程,不需要main函數。

11、一些新的運算符。

12、默認導入常用的包。

13、斷言不支持jvm的-ea參數進行開關。

14、支持對對象進行布爾求值。

15、類不支持default作用域,且默認作用域為public。

16、groovy中基本類型也是對象,可以直接調用對象的方法。

動態類型

類型對于變量,屬性,方法,閉包的參數以及方法的返回類型都是可有可無的,都是在給變量賦值的時候才決定它的類型, 不同的類型會在后面用到,任何類型都可以被使用,即使是基本類型 (通過自動包裝(autoboxing)). 當需要時,很多類型之間的轉換都會自動發生,比如在這些類型之間的轉換: 字符串(String),基本類型(如int) 和類型的包裝類 (如Integer)之間,可以把不同的基本類型添加到同一數組(collections)中。

閉包

閉包就是可以使用參數的代碼片段,每個閉包會被編譯成繼承groovy.lang.Closure類的類,這個類有一個叫call方法,通過該方法可以傳遞參數并調用這個閉包.它們可以訪問并修改在閉包創建的范圍內的變量,在閉包內創建的變量在閉包被調用的范圍內同樣可以被引用, 閉包可以保存在變量中并被作為參數傳遞到方法中。

語法

Groovy 語法與Java 語言的語法很相似,雖然 Groovy 的語法源于Smalltalk和Ruby這類語言的理念,但是可以將它想像成 Java 語言的一種更加簡單、表達能力更強的變體。(在這點上,Ruby與 Groovy 不同,因為它的語法與 Java 語法差異很大。)

許多 Java 開發人員喜歡 Groovy 代碼和 Java 代碼的相似性。從學習的角度看,如果知道如何編寫 Java 代碼,那就已經了解 Groovy 了。Groovy 和 Java 語言的主要區別是:完成同樣的任務所需的 Groovy 代碼比 Java 代碼更少。

Groovy類和java類一樣,完全可以用標準java bean的語法定義一個Groovy類。但作為另一種語言,可以使用更Groovy的方式定義類,這樣的好處是,可以少寫一半以上的javabean代碼。

(1)不需public修飾符

如前面所言,Groovy的默認訪問修飾符就是public,如果Groovy類成員需要public修飾,則根本不用寫它。

(2)不需要類型說明

同樣前面也說過,Groovy也不關心變量和方法參數的具體類型。

(3)不需要getter/setter方法

在很多ide(如eclipse)早就可以為程序員自動產生getter/setter方法了,在Groovy中,不需要getter/setter方法--所有類成員(如果是默認的public)根本不用通過getter/setter方法引用它們(當然,如果一定要通過getter/setter方法訪問成員屬性,Groovy也提供了它們)。

(4)不需要構造函數

不再需要程序員聲明任何構造函數,因為實際上只需要兩個構造函數(1個不帶參數的默認構造函數,1個只帶一個map參數的構造函數--由于是map類型,通過這個參數可以構造對象時任意初始化它的成員變量)。

(5)不需要return

Groovy中,方法不需要return來返回值。

(6)不需要()

Groovy中方法調用可以省略()(構造函數除外)。

適用人群

本教程對于想要學習Groovy編程基礎知識的所有軟件專業人員非常有用。

學習前提

在繼續本教程之前,您應該有一些Java或任何其他面向對象編程語言的實踐經驗。 


更新記錄:

返回w3cschool官網主頁

在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號

意見反饋
返回頂部
值得信赖的彩票平台

              安阳县| 沈阳市| 黔西县| 雷山县| 永泰县| 宝鸡市| 东辽县| 会昌县| 香格里拉县| 石林| 江口县| 岑巩县| 扬州市| 观塘区| 濮阳市| 涪陵区| 江川县| 贵南县|