Java 回调机制 初识

 

之前我对回调机制很不理解,回调机制是什么?它有什么用?怎样使用回调机制?看了这篇文章,肯定会明白的。

1. 回调机制是什么?它有什么用?

回调机制大体意思就是:借助一个接口,A发送一条消息给B,就去做别的事情了;然后B忙完手上的活,给A回复了一条消息。

 

2. 回调机制的具体实现流程

首先,要先定义一个接口。

public interface CallBackInterface {

    public void result(String result);
}

写一个类,也就是上面说的A,让他去实现之前定义的接口,并实现它。

public class FirstClass implements CallBackInterface

这是返回来的结果,也就是回复的那条消息,我们顺便把它打印出来备用。

 @Override
    public void result(String result) {
        System.out.print("CallBackMessage:"+ result + ";");
    }

接着,再写一个B类准备着与A进行配合。

public class SecondClass

再回到第一个类中,也就是A类,实现它的构造方法,是为了把第二个类传递进来。

public FirstClass(SecondClass secondClass){
        this.secondClass = secondClass;
    }

在B类里面写一个B类要给A类回消息的方法,参数分别是接口和A类发送的那条消息。

public void callMessage(CallBackInterface callBackInterface,String message)

这时候就要在A类里面创建一个方法,在方法里面调用B类的callMessage()方法。

public void sendMessage(final String message){
        new Thread(new Runnable() {
            @Override
            public void run() {
                secondClass.callMessage(FirstClass.this,message);
                System.out.print("First class send a message;");
            }
        }).start();

    }

完善B类的方法,这时候B类就能收到A类发过来的消息,并在B类那个方法里调用A类的方法,给A类回复了一条消息。

String CallBackMessage = "CallBackMessage";
        callBackInterface.result(CallBackMessage);

这样就可以了,写个测试类测试一下吧。

public static void main(String[] args){
    SecondClass secondClass = new SecondClass();

    FirstClass firstClass = new FirstClass(secondClass);

    firstClass.sendMessage("messageBase");
    }

 

3. GitHub Demo地址

https://github.com/suyichen/Blog-CallBack

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值