码迷,mamicode.com
首页 > 编程语言 > 详细

java回调Test

时间:2017-02-18 21:23:14      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:return   null   method   call()   call   listener   main   private   nal   

回调:在A类中调用B类的方法时,A类反而调用在其他类(例如B类,通常是一个接口)中有具体实现的方法.

 

/**监听接口*/
interface Listener{
    public void callBacks();
}
/**受监听类*/
class A{
    Listener mListener;
    public A(){}
    public A(Listener listener){
        this.mListener= listener;
    }    
    /**设置监听器*/
    A setListener(Listener listener){
        this.mListener= listener;
        return this;
    }
    /**回调接口*/
    void call(){
        if(mListener== null)return;
        mListener.callBacks();
    }
}
/**主类*/
public final class Main implements Listener{
    public static void main(String []args){
        new Main().start();
    }
    private void start(){
        new A().call();// 空监听事件
        new A(this).call();
        new A(this).setListener(new Listener(){
            public void callBacks(){
                System.out.println("This is new callBacks method");
            }
        }).call();// 重新设置监听器
    
    }
    /**监听事件的具体实现*/
    public void callBacks(){
        System.out.println("call me");
    }
}    

  

 

java回调Test

标签:return   null   method   call()   call   listener   main   private   nal   

原文地址:http://www.cnblogs.com/develon/p/6414085.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!