-
什么是接口
(1.解决多继承和多态问题:
就是让一个方法在不同的对象中有不同的实现,支持泛型(限定接口传入参数类型)。
(2.通过接口类型可以找到它的实现子类。
-
什么是回调
某种情况变化了调用函数来适应变化。c中利用函数指针嵌套,比如阿里云的客户端就用了很多,Java中可以利用静态类方法或者实例化类方法告知类对象。比如接口回调。
A的方法在B中实现。
1.1类中声明一个接口类型interface。
2.1类中设计一个方法x,参数为接口类型interface。
3.2类中调用1类的方法1实现接口interface。因为Java有一个特性,函数可以作为函数参数传递。
1.x(new interface(){
public void interfacefunction(){
2中的处理to do。
}
});
当一种元素变化时,可以调用interface.interfacefunction()。其实也就是相当于调用了2中的函数。
//在B类触发,在A类实现
public class A{
private int x=0;
b =new B;
b.callback(new B.c1(){
@Override
void function(String str){
if(str.equal(new String("shutdown"))){
x=10;
}
}
});
public void main(String [] args){
System.out.println(Interge.toString(x));
new Thread(new Runnable(){
@Override
void run(){
while(ture){
b.fun();
Sleep(2000);
}
}
}).start();
}
}
public class B{
public C c1;
public String command="shutdown";
public void callback(C c)
{
this.c1=c;
}
public interface C{
void function(String str);
}
void fun(){
c1.funct(command);
}
}