一、接口回调
接口回调是:可以把实现某一接口的类创建的对象的引用赋给该接口声明的接口变量中。那么该接口变量就可以调用被该类实现的方法。
例子:
ace ShowMessage{
void show(String a);
}
class TV implements ShowMessage{
public void show(Sting s){
System.out.println(s);
}
}
class PC implements ShowMessage{
public void show(Sting s){
Sysetm.out.println(s);
}
}
public class Example{
public static void main(String args[]){
ShowMessage sm; //声明接口变量
sm=new TV(); //接口变量中存放对象的引用
sm.show("电视机"); //接口回调
sm=new PC();
sm.show("电脑");
}
}
注意:对象所对应的类必须是实现该接口的类!
二、接口做参数
如果一个方法的参数是接口类型,就可以将任何实现该接口的类的实例的引用传递给该接口参数,那么接口参数就可以回调实现接口的类的方法。
例子:
interface SpeakHello{
void speakHello();
}
class Chinese implements SpeakHello{
public void speakHello(){
System.out.println("中文");
}
}
class English implements SpeakHello{
public void speakHello(){
System.out.println("英文");
}
}
class KindHello{
public void lookHello(SpeakHello hello){ //接口类型参数
hello.speakHello(); //接口回调
}
}
public class Example4_29{
public static void main(String args[]){
KindHello kindHello=new KindHello();
kindHello.lookHello(new Chinese());
kindHello.lookHello(new English());
}
}