【Groovy】Groovy 方法调用 ( 使用闭包创建接口对象 | 接口中有一个函数 | 接口中有多个函数 )
生活随笔
收集整理的这篇文章主要介绍了
【Groovy】Groovy 方法调用 ( 使用闭包创建接口对象 | 接口中有一个函数 | 接口中有多个函数 )
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
文章目录
- 一、使用闭包创建接口对象 ( 接口中有一个函数 )
- 二、使用闭包创建接口对象 ( 接口中有多个函数 )
- 三、完整代码示例
一、使用闭包创建接口对象 ( 接口中有一个函数 )
在 Groovy 中 , 声明一个接口 , 接口中定义了 111 个抽象函数 ,
interface OnClickListener {void onClick() }传统创建接口的方法如下 , 创建一个匿名内部类 ;
new OnClickListener() {@Overridevoid onClick() {println "OnClick"} }使用闭包 , 也可以创建上述接口对象 , 闭包中的内容就是唯一的抽象函数内容 ;
// 使用闭包创建接口对象 OnClickListener listener = {println "OnClickListener" }调用
listener.onClick()执行接口函数 , 执行结果如下 :
OnClickListener代码示例 :
// I. 使用闭包创建接口, 接口中有 1 个函数interface OnClickListener {void onClick() }void setOnClickListener (OnClickListener onClickListener) {onClickListener.onClick() }// 使用闭包创建接口对象 OnClickListener listener = {println "OnClickListener" }listener.onClick() setOnClickListener(listener)执行结果 :
OnClickListener二、使用闭包创建接口对象 ( 接口中有多个函数 )
如果接口中定义了多个函数 ,
interface OnClickListener2 {void onClick()void onLongClick() }则在创建闭包时 , 在闭包后面添加
as 接口名代码 , 如下 :
// 使用闭包创建接口对象 OnClickListener2 listener2 = {println "OnClickListener2" } as OnClickListener2上述方法会默认将接口的多个方法都设置为上述闭包方法 ;
执行接口对象的 onClick 和 onLongClick 方法 , 执行的都是相同的闭包方法 ;
listener2.onClick() listener2.onLongClick()上述 222 行代码执行结果都打印
OnClickListener2代码示例 :
interface OnClickListener2 {void onClick()void onLongClick() }void setOnClickListener2 (OnClickListener2 onClickListener) {onClickListener.onClick() }// 使用闭包创建接口对象 OnClickListener2 listener2 = {println "OnClickListener2" } as OnClickListener2listener2.onClick() listener2.onLongClick()setOnClickListener2(listener2)执行结果 :
OnClickListener2 OnClickListener2 OnClickListener2三、完整代码示例
完整代码示例 :
// I. 使用闭包创建接口, 接口中有 1 个函数interface OnClickListener {void onClick() }void setOnClickListener (OnClickListener onClickListener) {onClickListener.onClick() }// 使用闭包创建接口对象 OnClickListener listener = {println "OnClickListener" }listener.onClick() setOnClickListener(listener)// II. 使用闭包创建接口, 接口中有多个函数interface OnClickListener2 {void onClick()void onLongClick() }void setOnClickListener2 (OnClickListener2 onClickListener) {onClickListener.onClick() }// 使用闭包创建接口对象 OnClickListener2 listener2 = {println "OnClickListener2" } as OnClickListener2listener2.onClick() listener2.onLongClick()setOnClickListener2(listener2)执行结果 :
OnClickListener OnClickListener OnClickListener2 OnClickListener2 OnClickListener2总结
以上是生活随笔为你收集整理的【Groovy】Groovy 方法调用 ( 使用闭包创建接口对象 | 接口中有一个函数 | 接口中有多个函数 )的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 【Groovy】Groovy 方法调用
- 下一篇: 【Groovy】Groovy 运算符重载