测试类:
public class Test {
public static void main(String[] args) {
//创建A的对象
A a = new A();
//调用a的方法 对象是接口的子实现类
a.print(new B());
}
}
A类:
public class A {
public void print(Mylistence mylistence){
for(int x=1;x<10;x++){
System.out.println("这是第几次:" + x);
//当x==5是调用B的方法
if(x==5){
mylistence.print();
}
}
}
}
B类: 继承接口 Mylistence
public class B implements Mylistence {
@Override
public void print() {
System.out.println("收到A的命令,执行B的方法");
}
}
接口:
public interface Mylistence {
void print();
}
什么是接口回调:
实现把一个对象传递给A,当A执行到5的时候,通过这个对象来调用执行者的方法(调用的是接口的子实现类)
可以把使用某一个接口的类创建的对象的引用赋给该接口声明的接口变量中,那么该接口变量可以调用被类实现的接口中的方法。当接口变量调用被类实现的接口中的方法时,是通知相应的对象调用接口的方法,成为接口回调。
不同的类在使用同一接口时,可能具有不同的功能体现。即接口的方法体不必相同,因此接口回调可能产生不同的行为。
接口回调作用:
接口回调会方便功能的扩展,在主功能外由框架层实现定制功能处理。
更符合面向对象的书写方法