初见Groovy

原创 2015年07月10日 10:28:25

创建groovy类

class GroovyBeans{
    private String name;

    GroovyBeans(String theName){
        name = theName;
    }
}
  • groovy类自动生成getter,setter方法
  • class默认访问修饰符为public

使用groovy类

def bean = new GroovyBeans("hello")
bean.name = "change hellow" //相当于setName
println bean.name //相当于System.out.println(bean.getName());
  • bean.title不是类属性的直接访问,它是访问该属性访问者方法的快捷方式
  • def是groovy中用来定义动态变量的关键字,故new后类均不用强制转化。

字符串处理

 def name = 'hello'
 println "$name world"
  • $name将被替换为hello
  • groovy中可用单引号表示字符串
  • -

数字处理

def x = 1
println x.plus(2)
  • 一切groovy变量都是类

集合处理

  • List
def mylist = [1,2,3,4,5]
println mylist[0]  //类数组访问形式
mylist[6] = 6  //数组扩展
/*
[]将被解析成ArrayList
*/
  • Map
def myMap = [1:'n1',3:'n3']
println myMap[1] 
  • Range
def myRange = 1..10
assert myRange.size() == 10
assert myRange.from == 1
assert myRange[0] == 1
assert myRange.contains(1) == true //assert断言,经常出现在groovy中,用于单元测试

闭包

[1,2,3].each {num -> println num}
  • 闭包即{}中的代码块,相当于java中的匿名类,也就是Lambda expression,面向函数语言用法

循环

 for (i in 0..9)
 {
 //代码块
 }
 list.each{/*闭包/}
  • 常用以上两种
  • groovy无 for(int i;i<10;i++) 类型循环语句

java环境中运行groovy

加载的两种方式:

  1. 使用groovyc编译所有的.groovy为java的.class文件,把这些 *.class文件放在java类路径中,通过java类加载器来加载这些类。
  2. 通过groovy的类加载器在运行时直接加载.groovy文件并且生成对象,在 这种方式下,没有生成任何.class,但是生成了一个java.lang.Class对象的实例,也就是说,当groovy代码中包括一个new MyClass()的表达式时,并且也有一个MyClass.groovy的文件,这个文件将被解释,一个MyClass的类型将被产生并且增加到类加载器中,在代码中将像从*.class一样获取到MyClass对象.
  • java虚拟机并不考虑代码表层是怎么样的,只要字节码符合Class结构即可被JVM识别运行。

Groovy的动态特性

println evaluate('1+1')
  • 运行时生成类
  • 根据代码的任意字符串来运行的能力是脚本语言的显著特征
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

eclipse的groovy插件版本集合(支持不同版本的eclipse)

Groovy Eclipse WikiGroovy-Eclipse is a set of Eclipse plugins that provide Eclipse support for Groov...

基于Spring AOP和Groovy日志模板配置的日志记录框架的二次实现与使用案例

一、项目地址https://git.oschina.net/xuliugen/ufind-businesslog.git说明:本框架是基于koala-project(项目地址:http://git.o...

Groovy 操作http请求

话不多说,先上一段代码,如果你使用过jquery,看到这样的代码是不是很亲切呢? def http = new HTTPBuilder('http://www.baidu.com') http.re...
  • berdy
  • berdy
  • 2012年07月08日 18:13
  • 3002

Eclipse集成Groovy插件(以eclipse-4.3.0为例)

Eclipse集成Groovy插件(以eclipse-4.3.0为例) 步骤一:           下载eclipse4.3.0,地址:http://www.eclipse.org/do...

实战 Groovy: 构建和解析 XML

实战 Groovy: 构建和解析 XML 简易 XML 操作 [转自]https://www.ibm.com/developerworks/cn/java/j-pg05199/ ...

使用Groovy操作文件

1. 读文件 读文件内容 在groovy中输出文件的内容: println new File("tmp.csv").text 上面代码非常简单,没有流的出现,没有资源关闭的出现,也没有异常控制...

Groovy基础——Closure(闭包)详解

这篇文章介绍一下Closure的一些语法特性,以及它的使用方法,我们用规则以及代码的方法进行展现,和介绍MetaClass不同的是,这次我们将先列出规则,再贴上代码,让大家对所阐述的目标更加明确。 ...
  • qjbagu
  • qjbagu
  • 2015年11月08日 23:53
  • 439

利用IntelliJ IDEA创建第一个Groovy工程

因为某些原因,需要学习一下Groovy。关于Groovy的入门教程请看这篇文章http://www.ibm.com/developerworks/cn/education/java/j-groovy/...
  • zknxx
  • zknxx
  • 2016年08月04日 22:19
  • 13069

解析并触发groovy脚本

/** * @Title: GroovyUtil.java * @Package: com.boco.gaia.service.mockalarm.util * @Descriptio...

java集成groovy的几种方式对比

Groovy的几种集成方式:groovyshell、GroovyClassLoader、GroovyScriptEngine,其中groovyshell的方式不支持脚本缓存,会导致垃圾回收频繁,并且会...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:初见Groovy
举报原因:
原因补充:

(最多只允许输入30个字)