从品牌网站建设到网络营销策划,从策略到执行的一站式服务
你好,我写了个很简单的代码,你一看就明白了
创新互联-云计算及IDC服务提供商,涵盖公有云、IDC机房租用、德阳服务器托管、等保安全、私有云建设等企业级互联网基础服务,联系热线:18980820575
public class A {
int value = 1001;
public A() {// A的构造函数,执行B的exec()方法,里面又带有对A的getValue()方法调用,这个就叫做回调
B b = new B(this);
b.exec();
}
public int getValue() {
return value;
}
public static void main(String[] args) {
new A();//构造函数里已经发生了回调,所以不需要更多的代码
}
}
class B {
private A a;
public B(A a) {
this.a = a;
}
public void exec() {
System.out.println(a.getValue());// 这里调用了a的getValue()方法
}
}
简单的你会写,那就好办,直接上代码
public interface TestAPI extends StdCallLibrary {
interface LoginReply extends StdCallCallback {
/**
* 登录回调
*/
void invoke(String userId, long retCode, String retMsg);
}
/**
* 注册一个登录回调方法.此方法是dll提供的
*/
void RegisterLoginReply(LoginReply loginReply);
}
/**
* 实现登录回调方法
*/
private class LoginReplyCallBack implements TestAPI.LoginReply {
@Override
public void invoke(String userId, long retCode, String retMsg) {
log.info("登录回调方法:{},{},{}", userId, retCode, retMsg);
}
}
// 设置登录回调
api.RegisterLoginReply(loginReplyCallBack);
这不是回调函数;
是一个匿名实现类;
报错的话可能是接口里面的方法没有实现;
比如:
new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
}
};
就必须实现Runnable里面的方法~
希望对你有所帮助~
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图