「Groovy」- 快速开始及简单教程

更新日期:2020年09月14日
@IGNORECHANGE

常用命令

#!/bin/sh

# 执行脚本:#
groovy groovy-quick-start/function.groovy

# 打印日志。并同时指定日志等级和依赖解析信息
groovy -Divy.message.logger.level=4 -Dgroovy.grape.report.downloads=true \
    groovy-quick-start/function.groovy

“神奇”的地方

# 函数及返回值

修饰符:方法的默认访问「修饰符」是public

返回类型:方法的「返回类型」可以不需要声明,但需添加def关键字。

参数类型:方法的「参数类型」可以被省略,默认为Object类型。

返回值:在有返回值的方法中return可以被省略,默认返回最后一行代码的运行结果,如果使用了return关键字则返回指定的返回值。

# 隐式的Getter\Setter方法

Groovy 默认会隐式的创建getter、setter方法,并且会提供带参的构造器。

# 多重方法

在 Groovy 中,调用的方法将在运行时被选择。这种机制被称为运行时分派或多重方法(multi-methods),是根据运行时实参(argument)的类型来选择方法。Java 采用的是相反的策略:编译时根据声明的类型来选择方法。下面是一个例子,同样的 Java 代码在 Java 和 Groovy 环境中运行结果是不同的:

int method(String arg) {
    return 1;
}
int method(Object arg) {
    return 2;
}

Object o = "Object";
int result = method(o);
// In Java
assertEquals(2, result);

// In Groovy
assertEquals(1, result);

产生差异的原因在于,Java 使用静态数据类型,o 被声明为 Object 对象,而 Groovy 会在运行时实际调用方法时进行选择。因为调用的是 String 类型的对象,所以自然调用 String 版本的方法。

参考文献


ToC

常用命令

“神奇”的地方

# 函数及返回值

# 隐式的Getter\Setter方法

# 多重方法

参考文献