标签: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");
}
}
标签:return null method call() call listener main private nal
原文地址:http://www.cnblogs.com/develon/p/6414085.html