/**
* 老方 : 黑馬的CEO 想公司的戰(zhàn)略河狐,岸售,也數(shù)錢 class A
*
* 華哥 : 黑馬android部門的負責人 講課箱叁,排課表 class B
*
* 老方 : 拿起電話問:澤華程拭,哀托,坷衍,技肩,明天29期講什么課程匙奴。。礁叔。
*
* 華哥 : 想了很久牍颈。。琅关。煮岁。沒有想起來,明天是什么課程涣易。画机。。新症。步氏。
*
* 老方 : 那你看看課表,明天29期是什么課程
*
* 華哥 : 我這會特別忙徒爹。荚醒。芋类。沒空搭理你。界阁。侯繁。。泡躯。
*
* 老方 : 在電話里面說贮竟。。那行吧精续,那你 忙完了坝锰,一會在打電話告訴我。重付。
*
* 華哥 : 忙了很長久顷级,,終于忙完了确垫。弓颈。。删掀。在拿起電話回復老方翔冀,,這個回復的方法就是回調(diào)披泪。
*/
/**
*
* 什么是回調(diào):
*
* 回調(diào)就是2個類之間進行交互纤子。
*
* class A 方法D
*
* class B 方法C
*
* classA 想去調(diào)用classB里面的C方法。
*
* 結(jié)果 成了款票,calssB 去調(diào)用classA 里面的D方法
*/
public class Main {
public static void main(String[] args) {
HuaGe huaGe = new HuaGe();
LaoFang laoFang = new LaoFang(huaGe);
laoFang.ask("明天29期是什么課程");
}
}
/**
* 這個是回調(diào)接口
*
* @author Administrator
*
*/
public interface CallBack {
/**
*
這個是回調(diào)方法
*/
void result(String msg);
}
public class HuaGe implements CallBack {
@Override
public void result(String msg) {
}
/**
*
這個是Class B 里面的C方法
*/
public void message(CallBack laoFang, String msg) {
System.out.println("這個是老方問華哥的問題" + msg);
for (int i = 0; i < 10000; i++) {
}
System.out.println("華哥這個會想一下控硼,明天29期是什么課程,想完之后也不知道什么課程");
buzy();
for (int i = 0; i < 10000; i++) {
}
System.out.println("華哥忙ing");
String result = "明天29期是艾少,項目實戰(zhàn)課程";
/*
* 結(jié)果卻成了class b 返過來調(diào)用了class A里面的D方法
*/
laoFang.result(result);
}
private void buzy() {
System.out.println("老方說卡乾,澤華,我現(xiàn)在很忙缚够,那你一會幔妨,把課表看一下,在打電話告訴我谍椅,明天是什么課程");
}
}
public class LaoFang implements CallBack {
private HuaGe huaGe;
public LaoFang(HuaGe huaGe) {
this.huaGe = huaGe;
}
/*
* 這個方法就是傳說中的回調(diào)方法
*/
@Override
public void result(String msg) {
System.out.println("華哥拿起電話告訴老方:" + msg);
}
/**
*
class A 去華哥 老方通過這個方法去問華哥误堡,msg
*/
public void ask(String msg) {
huaGe.message(LaoFang.this, msg);
}
}