【Groovy】Groovy 方法调用 ( Java 中函数参数是接口类型 | 函数参数是接口类型 可以 直接传递闭包 )
2023-06-13 09:18:00 时间
文章目录
一、Java 中函数参数是接口类型
在 Android 中经常使用如下形式的接口 :
定义一个 OnClickListener 接口 ,
interface OnClickListener {
void onClick()
}
将 OnClickListener 接口对象 作为函数参数 , 传递到函数中 ,
void setOnClickListener (OnClickListener onClickListener) {
onClickListener.onClick()
}
然后调用上述函数 , 传递一个 OnClickListener 的匿名内部类 ,
setOnClickListener(new OnClickListener() {
@Override
void onClick() {
println "OnClick"
}
})
执行结果为 :
OnClick
二、函数参数是接口类型 可以 直接传递闭包
如果 setOnClickListener 函数参数接收的是
个接口 , 接口中只有
个方法 , 那么可以直接向 setOnClickListener 方法中传递一个闭包 , 该闭包相当于 OnClickListener 接口中的 onClick 方法 ;
interface OnClickListener {
void onClick()
}
void setOnClickListener (OnClickListener onClickListener) {
onClickListener.onClick()
}
setOnClickListener{
println "OnClick2"
}
执行结果 :
OnClick2
三、完整代码示例
完整代码示例 :
interface OnClickListener {
void onClick()
}
void setOnClickListener (OnClickListener onClickListener) {
onClickListener.onClick()
}
// 正常参数调用
setOnClickListener(new OnClickListener() {
@Override
void onClick() {
println "OnClick"
}
})
// 传递一个闭包到 setOnClickListener 方法中
setOnClickListener{
println "OnClick2"
}
执行结果 :
OnClick
OnClick2
相关文章
- java怎么调用.asmx_Java调用Webservice(asmx)的例子
- java输入输出的方法
- java中打印数组的方法_Java数组方法–如何在Java中打印数组
- java打印数组_Java中打印数组的三种方式
- java生成时间戳类型_Java获取当前时间戳的方法有哪些
- java怎么运行_怎样启动JAVA?「建议收藏」
- java extends runtimeexception_Java中RuntimeException和Exception的区别
- MySQL字段类型如何转为java_Java JDBC中,MySQL字段类型到JAVA类型的转换
- java public interface_Java 接口interface的基础[通俗易懂]
- java dom4j生成xml格式化_Java DOM4J方式生成XML的方法「建议收藏」
- Java 方法里面 调用异步的 方法
- 【说站】java调用shell脚本的方法
- native2ascii java_Native2Ascii和Ascii2Native的Java实现
- java 取当前时间年月日_Java获取当前时间年月日的方法[通俗易懂]
- java 设置400错误_Java项目报400错误的原因与解决方法
- java中数组输出_java数组输出方法
- Java的main方法是如何被调用的
- 【Groovy】Groovy 方法调用 ( Java 类成员及 setter 和 getter 方法设置 | Groovy 类自动生成成员的 getter 和 setter 方法 )
- 【Groovy】Groovy 方法调用 ( 字符串切割 | 使用 Java 语法切割字符串 | 使用 Groovy 语法切割字符串直接为变量赋值 | 数组赋值给变量 变量个数小于等于数组长度 )
- 【错误记录】Java AWT 图形界面编程报错 ( Exception in thread “main“ java.awt.AWTError: BoxLayout can‘t be shared )
- 在eclipse中导入JavaWeb项目却成了普通Java项目解决方法详解程序员
- java基础学习总结——equals方法详解编程语言
- Java中线程的实现详解编程语言
- 实现Java程序操作MySQL数据库(java调用mysql)
- 开启Java之门:访问MySQL数据库(java访问mysql数据库)
- Java yieId()方法如何使用
- Java Connection.prepareCall()方法:调用数据库存储过程
- 如何在Linux系统中指定Java版本(linux指定java)
- Linux系统中下载Java的方法(linux下java下载)
- Linux下快速配置Java环境变量(linux设置java环境变量)
- Java程序调用Linux系统命令实现更多功能(java调用linux命令)
- Java与Oracle同步一种新的数据库模式(java同步oracle)
- 安卓应用开发通过java调用c++jni的图文使用方法
- Java策略模式的简单应用实现方法
- java获取当前路径下的所有xml文档的方法
- 应用Java泛型和反射导出CSV文件的方法