【Groovy】Groovy 方法调用 ( 使用闭包创建接口对象 | 接口中有一个函数 | 接口中有多个函数 )
生活随笔
收集整理的這篇文章主要介紹了
【Groovy】Groovy 方法调用 ( 使用闭包创建接口对象 | 接口中有一个函数 | 接口中有多个函数 )
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
文章目錄
- 一、使用閉包創(chuàng)建接口對(duì)象 ( 接口中有一個(gè)函數(shù) )
- 二、使用閉包創(chuàng)建接口對(duì)象 ( 接口中有多個(gè)函數(shù) )
- 三、完整代碼示例
一、使用閉包創(chuàng)建接口對(duì)象 ( 接口中有一個(gè)函數(shù) )
在 Groovy 中 , 聲明一個(gè)接口 , 接口中定義了 111 個(gè)抽象函數(shù) ,
interface OnClickListener {void onClick() }傳統(tǒng)創(chuàng)建接口的方法如下 , 創(chuàng)建一個(gè)匿名內(nèi)部類 ;
new OnClickListener() {@Overridevoid onClick() {println "OnClick"} }使用閉包 , 也可以創(chuàng)建上述接口對(duì)象 , 閉包中的內(nèi)容就是唯一的抽象函數(shù)內(nèi)容 ;
// 使用閉包創(chuàng)建接口對(duì)象 OnClickListener listener = {println "OnClickListener" }調(diào)用
listener.onClick()執(zhí)行接口函數(shù) , 執(zhí)行結(jié)果如下 :
OnClickListener代碼示例 :
// I. 使用閉包創(chuàng)建接口, 接口中有 1 個(gè)函數(shù)interface OnClickListener {void onClick() }void setOnClickListener (OnClickListener onClickListener) {onClickListener.onClick() }// 使用閉包創(chuàng)建接口對(duì)象 OnClickListener listener = {println "OnClickListener" }listener.onClick() setOnClickListener(listener)執(zhí)行結(jié)果 :
OnClickListener二、使用閉包創(chuàng)建接口對(duì)象 ( 接口中有多個(gè)函數(shù) )
如果接口中定義了多個(gè)函數(shù) ,
interface OnClickListener2 {void onClick()void onLongClick() }則在創(chuàng)建閉包時(shí) , 在閉包后面添加
as 接口名代碼 , 如下 :
// 使用閉包創(chuàng)建接口對(duì)象 OnClickListener2 listener2 = {println "OnClickListener2" } as OnClickListener2上述方法會(huì)默認(rèn)將接口的多個(gè)方法都設(shè)置為上述閉包方法 ;
執(zhí)行接口對(duì)象的 onClick 和 onLongClick 方法 , 執(zhí)行的都是相同的閉包方法 ;
listener2.onClick() listener2.onLongClick()上述 222 行代碼執(zhí)行結(jié)果都打印
OnClickListener2代碼示例 :
interface OnClickListener2 {void onClick()void onLongClick() }void setOnClickListener2 (OnClickListener2 onClickListener) {onClickListener.onClick() }// 使用閉包創(chuàng)建接口對(duì)象 OnClickListener2 listener2 = {println "OnClickListener2" } as OnClickListener2listener2.onClick() listener2.onLongClick()setOnClickListener2(listener2)執(zhí)行結(jié)果 :
OnClickListener2 OnClickListener2 OnClickListener2三、完整代碼示例
完整代碼示例 :
// I. 使用閉包創(chuàng)建接口, 接口中有 1 個(gè)函數(shù)interface OnClickListener {void onClick() }void setOnClickListener (OnClickListener onClickListener) {onClickListener.onClick() }// 使用閉包創(chuàng)建接口對(duì)象 OnClickListener listener = {println "OnClickListener" }listener.onClick() setOnClickListener(listener)// II. 使用閉包創(chuàng)建接口, 接口中有多個(gè)函數(shù)interface OnClickListener2 {void onClick()void onLongClick() }void setOnClickListener2 (OnClickListener2 onClickListener) {onClickListener.onClick() }// 使用閉包創(chuàng)建接口對(duì)象 OnClickListener2 listener2 = {println "OnClickListener2" } as OnClickListener2listener2.onClick() listener2.onLongClick()setOnClickListener2(listener2)執(zhí)行結(jié)果 :
OnClickListener OnClickListener OnClickListener2 OnClickListener2 OnClickListener2總結(jié)
以上是生活随笔為你收集整理的【Groovy】Groovy 方法调用 ( 使用闭包创建接口对象 | 接口中有一个函数 | 接口中有多个函数 )的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Groovy】Groovy 方法调用
- 下一篇: 【Groovy】Groovy 运算符重载