NukkitLearn章外篇之三-Groovy
参与编写者: MagicLu550
知识点: groovy
关于groovy
Groovy是一种基于JVM(Java虚拟机)的敏捷开发语言,它结合了Python、Ruby和Smalltalk的许多强大的特性
,Groovy 代码能够与 Java 代码很好地结合,也能用于扩展现有代码。由于其运行在 JVM 上的特性,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中基本类型也是对象,可以直接调用对象的方法。
groovy的最吸引人的特性是闭包,动态和静态类型的兼容,流行语法。
java的大部分语法几乎可以直接在groovy上完美编译。
为什么我推荐使用groovy?
有些人可能认为,我们既然可以用java写,为什么还要费劲的再学个groovy呢?
原因很简单,但是问题的本身就是错的,因为再学会java的基础上,您几乎不需要
再去学习它了。java的大部分语法几乎可以直接在groovy上完美编译。
这句话
是十分有用的,并且,最主要的是,他的语法不冗长,且表达力强。例如
1 | class Test{ |
等同于
1 | def map = [:] //动态类型 |
很显然,我们可以看出,groovy就如同简化的java一样。而且,令人欣喜的,
它可以无缝的调用java。
导入环境
首先像往常一样创建maven项目(未来我们也会教授gradle)。
我们依然推荐使用groovy,在idea中,groovy的插件是直接支持的,所以我们不需要
另外安装插件。我们同时也不需要上官网安装groovy环境,因为官方已经提供了groovy-all
的jar包和编译的插件
jar包
1 | <dependency> |
1 | <dependency> |
编译的插件
1 | <plugin> |
如果先前存在了这个插件,请以此为模板添加
1 | <plugin> |
这样,我们的groovy开发环境就建好了。
创建groovy类
创建groovy类和创建java类基本是一样的,只是我们需要选择groovy的文件创建
即可创建了groovy类
groovy的语法标准
groovy的官方网站里面有groovy的文档(Document),
可以参见语法规则等。
在nukkit上使用
如同往常一样创建类,只是语法上可以简略一些.并且可以和java代码共存
1 | package net.noyark.nukkit |
另外,为了杜绝找不到类的相关异常,可以下载依赖整合包,
将前置插件设置为groovylib即可,在安装您的插件时,配套它使用。