java不允许多重继承,也就是说一个子类只能有一个父类,
Son extends FatherA,FatherB 是错误的
为了弥补这点不足,java允许实现多个接口,
Son extends FatherA implements AnotherFatherA,AnotherFatherB是允许的
接口中的方法没有实体,就这一点而言就相当于abstact class,
如:
interface ainter{
void dosth(int i);
}
ainter是一个接口,它仅仅声明了一个方法dosth,而没有具体实现它
class aclass implements ainter
{
public void dosth(int i) {
//在这里你可以不作任何处理,但是必须实现方法体
}
}
aclass实现了ainter这个接口,因此它必须实现ainter中的方法dosth
另,abstact class示例:
abstract class Canine {
public abstract String speak();
}
就像接口一样,它没有方法实体
接口就是给出一些没有内容的方法,类似于C++中的虚类。到具体用的时候再由用的方法自己定义内容,要注意的是想用接口必须实现接口的所
有方法。
其实是因为java不支持多继承才产生了接口
接口是用来规范类的
它可以避免类在设计上的不一致
这在多人合作的开发中犹为重要
就比如接口中有A方法
那么实现这个接口就必须实现A方法
这就形成了一种规范
也就是说,A继承了B,但却想使用C的一个方法,但又不能再继承,所以就使用了C的接口。