直接貼一個小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類的執行結果。