核心点拨
1. 声明一个回调接口
2. A类中要实现这个声明接口(用于接收B类的返回结果)
3. A类中要调用B类的一个有参数为(CallBack callback)的方法(可以理解为向B类传输消息的通道)
4. B类要实现一个有参数为(CallBack callback)的方法(用于调用A类中实现的回调方法,返回数据)
代码实例
(一)声明一个回调接口
/**
* @ClassName: CallBack
* @Description: TODO(------声明一个回调接口------)
*/
public interface CallBack {
public void event(String result);
}
(二)实现这个声明接口
/**
* @ClassName: YangLaoShi
* @Description: TODO(-------------杨老师说---------------)
*/
public class YangLaoShi implements CallBack{
// 学生
private Student student;
public YangLaoShi(Student st) {
// TODO Auto-generated constructor stub
this.student = st;
}
// 杨老师发信息说
public void sendMessage(){
student.messageInto(this,"你们要好好学习啊");
}
@Override
public void event(String result) {
// TODO Auto-generated method stub
System.out.println("杨老师收到的回复:" + result);
}
}
(三)实现一个有参数为(CallBack callback)的方法、以及返回数据。
/**
* @ClassName: Student
* @Description: TODO(-------------学生---------------)
*/
public class Student {
/**
* @Title: messageInto
* @Description: TODO(接受到信息后,回复信息)
*/
public void messageInto(CallBack callBack, String mesg){
System.out.println("接收到杨老师的信息:" + mesg);
// 回复杨老师
callBack.event("好的");
}
}
(四)测试
/**
* @ClassName: CallBackTest
* @Description: TODO(测试)
*/
public class CallBackTest {
// 测试
public static void main(String[] args) {
Student st = new Student();
YangLaoShi ys = new YangLaoShi(st);
ys.sendMessage();
}
}
-------------------------------------------------
测试结果:[ 杨老师收到的回复:好的 ]