Java接口回調
在Java學習中有個比較重要的知識點,就是今天我們要講的接口回調。接口回調的理解如果解釋起來會比較抽象,我一般喜歡用一個或幾個經典的例子來幫助加深理解。
舉例:老板分派給員工做事,員工做完事情后需要給老板回復,老板對其做出反應。
上面是個比較經典的例子,下面用代碼實現上述例子:
(1)先定義一個接口
1 package JieKouHuiDiao; 2 //定義一個接口 3 public interface JieKou { 4 public void show(); 5 }
(2)定義一個Boss類實現接口
1 package JieKouHuiDiao; 2 3 public class Boss implements JieKou{ 4 //定義一個老板實現接口 5 @Override 6 public void show() { 7 System.out.println("知道了"); 8 } 9 10 }
(3)定義一個員工Employee類
1 package JieKouHuiDiao; 2 3 public class Employee { 4 //接口屬性,方便后邊注冊 5 JieKou jiekou; 6 //注冊一個接口屬性,等需要調用的時候傳入一個接口類型的參數,即本例中的Boss和Employee, 7 public Employee zhuce(JieKou jiekou,Employee e){ 8 this.jiekou=jiekou; 9 return e; 10 } 11 public void dosomething(){ 12 System.out.println("拼命做事,做完告訴老板"); 13 //接口回調,如果沒有注冊調用,接口中的抽象方法也不會影響dosomething 14 jiekou.show(); 15 } 16 17 }
(4)測試類
package JieKouHuiDiao; public class Test { public static void main(String[] args) { Employee e=new Employee(); //需要調用的時候先注冊,傳入Boss類型對象和員工參數 Employee e1=e.zhuce(new Boss(),e); e1.dosomething(); } }
通過上面的例子和代碼應該有個比較初步的了解了,接口回調還有使用匿名內部類來實現,但是我覺得沒有這種理解清晰,所以你懂得,記住這個,理解它就歐了
