package chapter15.demo2;
/**
* 回调
* 定义 当一个类对象完成某件事以后,这个对象通知另外类的对象开始执行
* **/
// 定义回调的接口,只需要一个报告反馈的方法即可
interface CallBack{
public void baoGao(int num);
}
// 员工类
/**
* 由于不知道每个员工的完成方式,将员工定义为抽象类
* **/
abstract class Employee{
// 员工当中完成的任务的操作
public abstract void wangChangeRenWu(CallBack callBack);
}
// 老板类
class Boss implements CallBack{
// 定义下达任务的方法,需要在下达任务当中的调用,员工完成任务的方法
public void xiaoDaRenWu(Employee e){
System.out.println("Boss 下达任务了,等待员工去完成.....");
// 员工去完成任务
// 由于Boss 实现接口,可以将Boss的对象 this作为参数传递
e.wangChangeRenWu(this);
}
// 在报告的方法中,需要去调用,员工信息
@Override
public void baoGao(int num){
System.out.println("员工报告回馈信息"+num);
}
}
// 具体员工类 Kobe
/**
* 定义具体员工kobe
* 完成任务的操作
* **/
class Kobe extends Employee{
@Override
public void wangChangeRenWu(CallBack callBack){