1.接口
作用:接口使抽象的概念更深入一层。可将其想象为一个”纯“抽象类。它声明了若干抽象方法和常量,其主要作用是帮助实现类的多重继承功能。接口中的所有方法都是抽象方法,这些抽象方法由实现这一接口的不同类来具体完成。在使用中,接口类的变量可以用来代表人和实现了该接口的类的对象,这就相当于把类根据其实现的功能来分别代表,而不必考虑他所在类的继承层次。这样就可以最大限度的利用动态绑定,隐藏实现细节。接口还可以用来实现不同类之间的常量共享。
接口(interfaces)与抽象类(abstract classes)都是声明多个类的共同属性。
2.实现接口
既然接口里只有抽象方法,他只要声明而不需要定义处理方式,于是自然可以联想到接口也不可能像一般类一样,使用new运算符就可以直接产生对象。相反的,必须利用接口的特性来构造新的类,然后再用它来创建对象。利用接口构造类的过程,称之为接口的实现。
例:
public interface InterfaceTester<T> {
String str = "放飞自我";
T get();
void getNumber();
void getCoverageAmount();
void calculatePremium();
Date getExpiryDate();
}
public class Ab implements InterfaceTester<String>{
@Override
public String get() {
return null;
}
@Override
public void getNumber() {
}
@Override
public void getCoverageAmount() {
}
@Override
public void calculatePremium() {
}
@Override
public Date getExpiryDate() {
return null;
}
}
由于不能直接由接口创建对象,而必须通过实现接口的类来创建。虽然如此,还是可以声明接口类型的变量(或数组),并用它来访问对象。
InterfaceTester<String> in1=new Ab();
in1.getCoverageAmount();
3.接口的扩展
接口与一般类一样,均可以通过扩展(extends)技术来派生出新的接口,原来的接口称为基本接口或父接口,派生出的接口称为派生接口或子接口。派生接口不仅可以保有父接口的成员,同时也可以加入新的成员可以满足实际问题的需要。
注:接口的扩展(或继承)也是通过关键字extends。但是一个接口可以继承多个接口,这点与类的继承有所不同。接口扩展的语法如下
interface 子接口的名称 extends 父接口的名称1,父接口的名称2,...