【Groovy】Groovy 语言特点简介 ( 支持 Java 语法 | 支持 Java 虚拟机 | Groovy 语言是动态语言 | Groovy 扩展 JDK | 编译时元编程 )

2023-03-30 09:36:56 浏览数 (1)

文章目录

  • 一、Groovy 支持 Java 语法
  • 二、Groovy 支持 Java 虚拟机
  • 三、Groovy 语言是 动态语言
  • 四、Groovy 扩展 JDK
  • 五、Groovy 编译时元编程

一、Groovy 支持 Java 语法


Groovy 语言与 Java 语言可以无缝衔接 , 在 Groovy 中 , 可以 完全使用 Java 语法进行开发 ;

从 " 能否使用 Java 语法 " 角度出发 , Groovy 语言比 Kotlin 语言更方便 , Kotlin 中无法使用 Java 语法 , 而 Groovy 可以 , 因此 Java 开发者直接就可以进行 Groovy 开发 ;

二、Groovy 支持 Java 虚拟机


Groovy 语言是 基于 Java 虚拟机的 ;

Groovy 即可以实现 面向对象 编程开发 , 又可以进行 独立脚本开发 ;

三、Groovy 语言是 动态语言


Groovy 是一门 动态语言 , 与之相对的 , Java 是一门静态语言 ; 具体就是 在声明变量前 , Java 语言必须声明该变量的类型 , 而在 动态语言中 , 在 运行时才检查变量类型 , 声明变量时 , 可以暂时不指定变量类型 ;

Groovy 使用 def 声明变量 , 在声明时 , 可以暂时不指定变量类型 ;

动态语言 中 变量的具体类型 , 取决于为其赋值的类型 , 如果为 变量设置 字符串 , 则该变量就是字符串类型 ; 如果为 变量 赋值 1 , 则该变量的类型就是 int 类型 ;

Kotlin 也是一门动态语言 , 使用 var 声明变量 ;

四、Groovy 扩展 JDK


在 Groovy 中 , 可以使用 JDK 中的所有 API , 同时还可以对 JDK 中的 API 进行扩展 ;

如 : 在 Java 中读取文件 , 首先要创建 File 对象 , 然后获取输入流 FileInputStream , 使用缓冲区读取 , 这个操作步骤很繁琐 ;

对上述 File 读取文件进行 API 扩展 , 可以使用一行代码 , 读取文件中的数据 , 相当于开发了一个读取文件的工具类 ;

五、Groovy 编译时元编程


Groovy 可以实现 编译时元编程 , 类似于编译时技术 APT 中的 注解处理器 ;

在编译工程时 , 可以动态执行 注入方法 , 拦截方法 , 合成方法 , 委托方法 等 操作 ;

如 : 编译时 , 从服务器获取一个方法 , 借助 Groovy 元编程 , 可以将该方法动态地插入到 Groovy 方法中执行 ;

一些收费的 API 函数库 , 可以借助该方法 , 实现 API 的加密操作 ; 如 : 编译时 , 从服务器获取密钥 , 对比本地的密钥是否合法 , 确定是否要进行后续编译过程 ;

0 人点赞