groovy方法调用

来源:互联网 发布:淘宝卖家中心手机版 编辑:程序博客网 时间:2024/04/27 22:15
//类的方法调用 可以用闭包代替接口class Person{    def name    def age    public def getName() {        return name + "_lin"    }    public void setName(def name) {        this.name = name    }    def execute(x,y,z){        println "$x $y $z"    }}def person = new Person()person.name = 'groovy'def str = 'name'//调用set(name)的四种方式println person.nameprintln person.'name'println person."$str"println person['name']//调用原始name的方式println person.@name//直接在创建对象时给name 和 age赋值def person1 = new Person(age: 12,name: 'name')println person1.name//调用其中的方法person1.execute('a',a:'aa','c')//字符串分割def str1 = 'org.codehaus.groovy:groovy-all:2.3.11'def array = str1.split(':')def (group,name,version) = str1.split(':')println arrayprintln groupprintln nameprintln version//接口调用 单个接口interface OnclickListener{    void onClick(a,b)}def fun(OnclickListener listener){    listener.onClick('hello','lin')}fun(new OnclickListener() {    @Override    void onClick(a,b) {        println "$a , $b"    }})OnclickListener listener = {    j,i->        println  "$j , $i"}fun listener//接口有多个方法 但是我们只需要实现一个就好interface TextWatcher{    void before()    void doing()    void after()}TextWatcher watcher = {        println "hello"} as TextWatcherdef fun1(TextWatcher watcher){    watcher.doing()}fun1(watcher)
原创粉丝点击