1.接口
我们使用关键字interface来声明一个接口。接口的定义和类的定义很相似,分为接口声明和接口体。例如:
interface Printable{
final int MAX = 100;
void add();
float sum(float x,float y);
}
接口体中只有抽象方法和常量的声明。
2.接口的实现
(1)类通过重写接口里的抽象类来实现接口,抽象类既可以重写接口中的方法,也可以直接拥有接口中的方法。
(2)实现接口的类必须有接口中的所有方法。
(3)一个类可以实现多个接口,例如:
class A implements Printable,Addable{
....
}
(4)如果父类实现了某个接口,那么子类也就自然实现了该接口。
(5)接口也可以被继承,即可以通过关键字extends声明一个接口是另一个接口的子接口。由于接口中的方法和常量都是public的,子接口将继承父接口中的全部方法和变量。
(6)接口回调是指用一个接口声明的变量可以调用一个类实现的接口方法,和上转型对象类似。
3.接口和多态
由接口产生的多态就是指不同的类在实现同一个接口时可能具有不同的实现方式,那么接口变量在回调接口方法时就可能具有多种形态。
4.接口回调
接口回调是指一个接口声明的变量,可以调用一个类实现的接口方法。
例子:
interface showMessage{
void showSome(String s);
}
class TV implements ShowMessage{
public void showSome(String s)
{
System.out.println(s);
}
}
public PC implements ShowMessage{
public void showSome(String s)
{
System.out.println(s);
}
}
public class Example{
public static void main(String args[]){
ShowMessage sm;
sm = new TV();
sm.showSome("长虹电视机");//接口回调
sm = new PC();
sm.showSome("华为电脑");//接口回调
}
}