下面是一个JS的callback实现
var callback = function(){
print(">>> callback()");
};
var func = function(cb){
print(">>> func()");
cb();
};
func(callback);
java中函数不是一级元素(参数和返回值只能是对象,不能为函数),所以不能写出像上面那样简洁地实现callback,
但Java通过OO的方式同样可以模拟一个callback,代码如下
interface CallbackHolder {
void callback();
}
interface CallbackUser {
void func(CallbackHolder callbackHolder);
}
public class TestCallBack {
public static void main(String[] args) {
new CallbackUser() {
public void func(CallbackHolder callbackHolder) {
System.out.println(">>> func()");
callbackHolder.callback();
}
}.func(new CallbackHolder() {
public void callback() {
System.out.println(">>> callback()");
}
});
}
}
运行TestCallBack 类,输出如下(与JS输出一致):
>>> func()
>>> callback()
分享到:
相关推荐
简要说明接口回调:即使实现接口类的引用赋值给该接口申明的变量,然后该变量就可以调用接口中的方法了(当接口变量调用接口中的方法的时候,实际上我们处理的是该接口实现类中的相应的函数的实现部分)。
java.net 为实现网络应用程序提供类。 java.nio 定义作为数据容器的缓冲区,并提供其他 NIO 包的概述。 java.nio.channels 定义了各种通道,这些通道表示到能够执行 I/O 操作的实体(如文件和套接字)的连接;定义...
例子中包含Android 应用程序和JNI的程序,实现充JNI到java层的回调
java.net 为实现网络应用程序提供类。 java.nio 定义作为数据容器的缓冲区,并提供其他 NIO 包的概述。 java.nio.channels 定义了各种通道,这些通道表示到能够执行 I/O 操作的实体(如文件和套接字)的连接;定义了...
springboot + +oss + thymeleaf 实现的小demo , oss文件上传,根据oss链接生成二维码.
nodejs调用java可以通过child_process模块中的spawn()函数实现。 var spawn = require('child_process').spawn; nodejsJava.encryptccbParam=function(flag,param,pubKey,callback){//必须传入4个参数}
java.net 为实现网络应用程序提供类。 java.nio 定义作为数据容器的缓冲区,并提供其他 NIO 包的概述。 java.nio.channels 定义了各种通道,这些通道表示到能够执行 I/O 操作的实体(如文件和套接字)的连接;定义...
java.net 为实现网络应用程序提供类。 java.nio 定义作为数据容器的缓冲区,并提供其他 NIO 包的概述。 java.nio.channels 定义了各种通道,这些通道表示到能够执行 I/O 操作的实体(如文件和套接字)的连接;定义了...
代码很简单,只有三个Java文件,建议下载后将Java文件拷贝到工程中使用。 封装的功能有: 一般的get请求 一般的post请求 一般的put请求 一般的delete请求 上传单个文件(包含进度) 上传list集合文件 上传map...
java.net 为实现网络应用程序提供类。 java.nio 定义作为数据容器的缓冲区,并提供其他 NIO 包的概述。 java.nio.channels 定义了各种通道,这些通道表示到能够执行 I/O 操作的实体(如文件和套接字)的连接;定义...
java.net 为实现网络应用程序提供类。 java.nio 定义作为数据容器的缓冲区,并提供其他 NIO 包的概述。 java.nio.channels 定义了各种通道,这些通道表示到能够执行 I/O 操作的实体(如文件和套接字)的连接;定义...
通过JNI接口静态注册的native方法去创建线程,同时提供native回调Java的方法。通过这个框架可以去实现线程监听某一个状态,然后回调Java的方法(如发消息去通知顶层,实现显示)
回调函数(callback Function),顾名思义,用于回调的函数。 回调函数只是一个功能片段,由用户按照回调函数调用约定来实现的一个函数。回调函数是一个工作流的一部分,由工作流来决定函数的调用(回调)时机。回调...
Java实现的微信API接口SDK 注意:拒绝996工作制公司请使用本项目。 开发者 作者: marker 邮箱: 博客: 微信公众号:(欢迎关注支持) Maven 坐标 <groupId>com.wuweibi</groupId> <artifactId>weixinapi ...
java事件处理机制ppt 有3种角色: 1.event object:就是事件产生时具体的“事件”,用于listener的相应的方法之中,作为参数,一般存在与listerner的方法之...在windows程序设计里边这种相应使用callback机制来实现的
java.net 为实现网络应用程序提供类。 java.nio 定义作为数据容器的缓冲区,并提供其他 NIO 包的概述。 java.nio.channels 定义了各种通道,这些通道表示到能够执行 I/O 操作的实体(如文件和套接字)的连接;定义...
76、什么是java序列化,如何实现java序列化? 18 77、简述synchronized和java.util.concurrent.locks.Lock的异同 ? 18 78、abstract class Name { private String name; public abstract boolean isStupidName...