一、class、interface、trait
-
groovy中所有类型默认是 public的
-
所有类都是继承groovyObject。
二、class
groovy可以省略class的构造方法、get、set方法
//类里的方法定义
def method(){
println "aaa"
}
三、interface
接口中不能定义非public的方法。
四、trait
跟抽象类很类似。只不过实现trait用的是implements
五、json
1. 将对象转成json字符串
def list = [new Person(name:'aa',age:11),new Person(name:'bb',age:12)]
//没格式化的JSON
def json = JsonOutput.toJson(list)
//格式化的JSON
JsonOutput.prettyPrint(json)
2.json字符串转换成对象
def jsonSlurper = new JsonSlurper();
def object = jsonSlurper.parse("Sring".getByte())
六、xml解析
1.解析xml文件
def xmlSluper = new XmlSlurper()
//result 就是第一个标签的对象
def result = xmlSluper.parseText(xml)
//获取第一个标签的属性里的值。
result.@package
//获取子标签里的文本test是子标签
result.test.text()
//有域名控件的需要带上域名空间
result.declareNamespace('android',"http://schemas.android.com/apk/res/android")
result.application.@'android:allowBackup'
result.application.activity[0].@'android:name'
//遍历节点
result.application.activity.each{activity->
println activity.@'android:name'
}
2.生成xml
def sw = new StringWriter()
def xmlBuilder = new MarkupBuilder(sw)
//创建html标签
xmlBuilder.html(){
//闭包表示在html里面要创建标签
//创建title标签,有key,value的是标签里的属性,没key的是标签里的值/
title(id:'123',name:'android','xml生成'){
}
}