一、类(class)
我们先来定义一个类
class Runner {
String name
int age
}
注意groovy中class、以及变量默认都是public的,不用再写。
使用对象
Runner runner = new Runner(name: "Tom",age: 18)
println "我是"+runner.name+" 年龄是"+runner.age
前面Runner 类中我们虽然没有定义有参的构造函数,这样写了后,系统会自动为我们创建含参数的构造函数。
输出结果是
我是Tom 年龄是18
二、接口(interface)
定义一个接口
interface Action {
void play()
void eat()
}
groovy定义的接口中,只能申明public的方法。
其他接口的使用跟java 没有区别,一个类实现这个接口后需要实现接口定义的方法。
三、特征(traits)
traits是介于java 中抽象类和接口之间的语法。
我们先定义一个trait
trait TraitAction {
abstract void eat()
void play(){
println("我很会玩")
}
}
注意:trait 中定义的方法如果不实现,必须定义成抽象的,在前面加abstract。
再看看怎么使用trait
class Runner implements TraitAction{
String name
int age
@Override
void eat() {
println("我会吃")
}
}
使用trait需要用到implements 关键字,同样实现trait定义的抽象方法
Runner 的实例对象既可以调play方法也可以调自己定义的eat方法。