【Groovy】Groovy 语言特点简介 ( 支持 Java 语法 | 支持 Java 虚拟机 | Groovy 语言是动态语言 | Groovy 扩展 JDK | 编译时元编程 )
文章目錄
- 一、Groovy 支持 Java 語法
- 二、Groovy 支持 Java 虛擬機
- 三、Groovy 語言是 動態(tài)語言
- 四、Groovy 擴展 JDK
- 五、Groovy 編譯時元編程
一、Groovy 支持 Java 語法
Groovy 語言與 Java 語言可以無縫銜接 , 在 Groovy 中 , 可以 完全使用 Java 語法進(jìn)行開發(fā) ;
從 " 能否使用 Java 語法 " 角度出發(fā) , Groovy 語言比 Kotlin 語言更方便 , Kotlin 中無法使用 Java 語法 , 而 Groovy 可以 , 因此 Java 開發(fā)者直接就可以進(jìn)行 Groovy 開發(fā) ;
二、Groovy 支持 Java 虛擬機
Groovy 語言是 基于 Java 虛擬機的 ;
Groovy 即可以實現(xiàn) 面向?qū)ο?編程開發(fā) , 又可以進(jìn)行 獨立腳本開發(fā) ;
三、Groovy 語言是 動態(tài)語言
Groovy 是一門 動態(tài)語言 , 與之相對的 , Java 是一門靜態(tài)語言 ; 具體就是 在聲明變量前 , Java 語言必須聲明該變量的類型 , 而在 動態(tài)語言中 , 在 運行時才檢查變量類型 , 聲明變量時 , 可以暫時不指定變量類型 ;
Groovy 使用 def 聲明變量 , 在聲明時 , 可以暫時不指定變量類型 ;
動態(tài)語言 中 變量的具體類型 , 取決于為其賦值的類型 , 如果為 變量設(shè)置 字符串 , 則該變量就是字符串類型 ; 如果為 變量 賦值 1 , 則該變量的類型就是 int 類型 ;
Kotlin 也是一門動態(tài)語言 , 使用 var 聲明變量 ;
四、Groovy 擴展 JDK
在 Groovy 中 , 可以使用 JDK 中的所有 API , 同時還可以對 JDK 中的 API 進(jìn)行擴展 ;
如 : 在 Java 中讀取文件 , 首先要創(chuàng)建 File 對象 , 然后獲取輸入流 FileInputStream , 使用緩沖區(qū)讀取 , 這個操作步驟很繁瑣 ;
對上述 File 讀取文件進(jìn)行 API 擴展 , 可以使用一行代碼 , 讀取文件中的數(shù)據(jù) , 相當(dāng)于開發(fā)了一個讀取文件的工具類 ;
五、Groovy 編譯時元編程
Groovy 可以實現(xiàn) 編譯時元編程 , 類似于編譯時技術(shù) APT 中的 注解處理器 ;
在編譯工程時 , 可以動態(tài)執(zhí)行 注入方法 , 攔截方法 , 合成方法 , 委托方法 等 操作 ;
如 : 編譯時 , 從服務(wù)器獲取一個方法 , 借助 Groovy 元編程 , 可以將該方法動態(tài)地插入到 Groovy 方法中執(zhí)行 ;
一些收費的 API 函數(shù)庫 , 可以借助該方法 , 實現(xiàn) API 的加密操作 ; 如 : 編譯時 , 從服務(wù)器獲取密鑰 , 對比本地的密鑰是否合法 , 確定是否要進(jìn)行后續(xù)編譯過程 ;
總結(jié)
以上是生活随笔為你收集整理的【Groovy】Groovy 语言特点简介 ( 支持 Java 语法 | 支持 Java 虚拟机 | Groovy 语言是动态语言 | Groovy 扩展 JDK | 编译时元编程 )的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Groovy】Gradle 构建工具
- 下一篇: 【Groovy】Groovy 代码创建