//類的方法調用 可以用閉包代替接口 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.name println 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 array println group println name println 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 TextWatcher def fun1(TextWatcher watcher){ watcher.doing() } fun1(watcher)
groovy方法調用
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.