Groovy学习记录01

Groovy的Api文档

一、Groovy是什么?

二、Groovy与Java比较

(1) Groovy完全兼容Java语法,即在Groovy中编写java代码是可以执行的。因为二者都是基于JVM的,Groovy最后也是编译成java字节码的
(2) 代码行尾的分号是可选的
(3) 类、方法默认都是public的
(4) 编译器给属性自动添加getter/setter方法
(5) 属性可以用点号获取
(6) 在方法里面最后一个表达式的值会被作为返回值,即如果一个方法有返回值,那么return这个关键字可以不写
(7) ==等同于equals(),不会有NullPointerExceptions,但是直接用空对象去调用属性或方法的时候仍会报空指针异常

三、高效特性

(1) 自带断言语句,即assert语句
(2) 可选类型定义,申明变量可以使用"def 变量名",变量的具体类型是根据后面的操作推导出来的
(3) 可选括号,调用方法的时候如果有参数,括号可以不写
(4) 字符串,Groovy的字符串有三种表达形式:单引号、双引号、三个单引号
(5) 集合API,Groovy中的List和Map有更高效的写法
(6) 支持闭包

四、利用IDEA搭建Gradle项目

4.1 创建项目步骤
4.2 打开Groovy Console控制器

五、Groovy语言特性测试

5.1 对于Groovy语言的特性测试一
public class ProjectVersion {
    private int major;
    private int minor; //没有给minor添加set/get方法

    ProjectVersion(int major, int minor) {
        this.major = major  //语句末尾没有分号,成功编译执行
        this.minor = minor
    }

    int getMajor() {
        major //最后一个表达式作为返回值
    }

    void setMajor(int major) {
        this.major = major
    }

}

ProjectVersion v1 = new ProjectVersion(2, 1);
println v1.major; //打印成功
println v1.minor; //打印成功

ProjectVersion v2 = null;
println v2==v1  //false,未报空指针异常
println v2.minor //报空指针异常
5.2 对于Groovy语言的特性测试二
//Groovy的高效特性
//1 可选的类型定义
def version = 1;

//2 assert断言
//assert version == 2;

//3 括号是可选的
println version

//4 字符串
def s1 = 'groovy';

def s2 = "gradle version is ${version}"

def s3 = '''gradle
is
good tools'''

println s1
println s2
println s3

//5 集合
//list
def buildTools = ['ant', 'maven'];
buildTools << 'gradle'
assert buildTools.getClass() == ArrayList
assert buildTools.size() == 3

//map
def buildMap = ["ant": "第一代工具", "maven": '第二代工具'];
buildMap.gradle="第三代工具";

println buildMap.size();
println buildMap
println buildMap.ant
println buildMap.getClass() //LinkedHashMap

//6 闭包
def c1={
    v->println v
}

def  c2={
    println 'hello'
}

//这里的Closure不能导包,它是Groovy自带的
def method1(Closure closure){
    closure('有参数')
}

def method2(Closure closure){
    closure()
}

method1(c1)
method2(c2)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值