Java学习之Java接口回调理解

时间:2024-06-30 12:03:50

Java接口回调

  在Java学习中有个比较重要的知识点,就是今天我们要讲的接口回调。接口回调的理解如果解释起来会比较抽象,我一般喜欢用一个或几个经典的例子来帮助加深理解。

  举例:老板分派给员工做事,员工做完事情后需要给老板回复,老板对其做出反应。

  上面是个比较经典的例子,下面用代码实现上述例子:

(1)先定义一个接口

 package JieKouHuiDiao;
//定义一个接口
public interface JieKou {
public void show();
}

(2)定义一个Boss类实现接口

 package JieKouHuiDiao;

 public class Boss implements JieKou{
//定义一个老板实现接口
@Override
public void show() {
System.out.println("知道了");
} }

(3)定义一个员工Employee类

 package JieKouHuiDiao;

 public class Employee {
//接口属性,方便后边注册
JieKou jiekou;
//注册一个接口属性,等需要调用的时候传入一个接口类型的参数,即本例中的Boss和Employee,
public Employee zhuce(JieKou jiekou,Employee e){
this.jiekou=jiekou;
return e;
}
public void dosomething(){
System.out.println("拼命做事,做完告诉老板");
//接口回调,如果没有注册调用,接口中的抽象方法也不会影响dosomething
jiekou.show();
} }

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

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