JAVA回调机制

JAVA的回调方法和C++的还是有区别的,最近在做android的项目,很多东西都用到了回调方式,抽空来学习一下。

举个例子,A有事情找B,而B比较忙,暂时没法沟通,于是A留下一个地址给B,然后B通过这个地址和A联系,这个地址就是一个接口函数。

回调方法的接口:

public interface MyCallInterface {
	//回调方法   
	public void method(int value);
}

有了这个几口,A怎么把事情告诉给B呢,这就需要A有个方法,来调用B中的方法。

回调方法的调用:

public class caller {
	public MyCallInterface mc;
	public int sum1 = 10;
	public void setCallfuc(MyCallInterface mc)
	{
		this.mc = mc;
	}
	
	public void call(int value)
	{
		int sum = value + sum1;
		this.mc.method(sum);
	}
}

接着B有空的时候,他怎么处理来自A的事情呢?B先实现了接口函数的方法,然后调用A的call()方法处理来自A的数据。

public class B implements MyCallInterface {
	public static int B_value = 11;

    public void method(int sum)  
    {  
       System.out.println(sum);
    } 
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
	       caller call = new caller();  
	       call.setCallfuc(new B());  
	       call.call(B_value); 
	}
}

从上面的程序可以看出,B调用A的call()函数,并把自己的值传给A,A处理数据之后调用B的method(),将B和A传入的数据进行处理。








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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值