Java学习之Java接口回调理解

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();
}
}

   通过上面的例子和代码应该有个比较初步的了解了,接口回调还有使用匿名内部类来实现,但是我觉得没有这种理解清晰,所以你懂得,记住这个,理解它就欧了

  

 

posted @ 2016-01-11 22:01  三分之一Smile  阅读(15347)  评论(0编辑  收藏  举报