您的位置:首页 > 编程语言 > Java开发

JAVA回调

2016-03-22 11:28 337 查看
场景:

学弟写代码的时候遇到一个问题要请教学长。

学长说你把代码发过来看看,可能需要一点时间,你先做其他,解决了我给你发QQ消息。

过了学弟收到了QQ消息,学弟解决了问题。

//qq发消息是个接口函数
public interface  QQ{
public void msg(String txt);
}


//学弟类
//包含一个学长对象引用
//实现了QQ发消息的接口方法
public class XD implements QQ{

public  XZ xz;

public XD(XZ xz){
//学弟认识一个乐于助人的学长
this.xz = xz;
}

public void ask(String question ){
System.out.println("遇到个Bug,问问学长");
xz.help(XD.this, question);
}

@Override
public void msg(String txt) {
//收到答案后做的事情可以写在这里
bugFix(txt);
}

public void bugFix(String txt){
System.out.println("根据"+txt+"这个bug解决了,学长好棒!");
}

}


//学长类
//因为乐于助人,所以有个help函数
public class  XZ{

//学长通过qq和学弟交流
public void help(QQ qq,String question){
System.out.println("我收到你的问题啦,我帮你看看,解决了发你qq上");

try {
System.out.println("学长努力调试中。。。");
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}

qq.msg("答案");
}
}


模拟调用

public class MainClass {
public static void main(String[] args){
new XD(new XZ()).ask("问题");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: