直接贴一个小demo吧
AbstractCallBackListener类:
/**
* 监听回调抽象类
* @author zisong yue
* @date 2018-12-05
*/
public abstract class AbstratCallBackListener {
void callBackOnStateChang(String message){};
}
Food类:
/**
* @author zisong yue
* @date 2018-12-05
*/
public class Food {
private AbstratCallBackListener listener;
Food(){
this.listener = new AbstratCallBackListener() {
@Override
void callBackOnStateChang(String message) {
System.out.println(message);
}
};
}
void callEatFood(){
EatFood eatFood = new EatFood(listener);
eatFood.startRatFood();
}
public static void main(String[] args) {
Food food = new Food();
food.callEatFood();
}
}
EatFood类:
/**
* @author zisong yue
* @date 2018-12-05
*/
public class EatFood {
AbstratCallBackListener callBackListener;
public EatFood(AbstratCallBackListener callBackListener){
this.callBackListener = callBackListener;
}
void startRatFood(){
callBackListener.callBackOnStateChang("食物吃完了!");
}
}
执行Food类中main方法,测试结果:
我们看到,Food类拿到了EatFood类的执行结果。