可以说接口是对抽象类的补充,在Java机制里只允许单继承,如果这个父类中的方法不能完全满足子类,子类没办法再去继承其它的父类,但是可以通过实现接口来弥补这些。
1、 接口里的数据成员必须初始化,且数据成员均为常量。
2、 接口里的方法必须全部声明为 abstract,也就是说,接口不能像抽象类一样保有一般的方法,而必须全部是“抽象方法”。
定义格式:
interface 接口名称 // 定义抽象类
{
final 数据类型 成员名称 = 常量 ; // 数据成员必须赋初值
abstract 返回值的数据类型 方法名称(参数…);
// 抽象方法,注意在抽象方法里,没有定义方法主体。
}
因为接口的方法必须是抽象方法,变量必须是final修饰,所以声明方法和变量的时候abstract和final是可以省略的
接口的实现
class 类名称 implements 接口 A,接口 B // 接口的实现
{
…
}
接口可以无限多的实现下去
接口继承接口
接口与一般类一样,均可通过扩展的技术来派生出新的接口。原来的接口称为基本接口或父接口,派生出的接口称为派生接口或子接口。通过这种机制,派生接口不仅可以保留父接口的成员,同时也可加入新的成员以满足实际的需要。
同样的,接口的扩展(或继承)也是通过关键字 extends 来实现的。有趣的是,一个接口可以继承多个接口,这点与类的继承有所不同。
interface 子接口名称 extends 父接口 1,父接口 2, …
{
… …
}