1.接口的定义语法:
[修饰符] interface 接口名 extends 父接口1, 父接口2,...{
// 常量定义
//方法定义
{
2.类实现接口语法:
class 类名 extends 父类名 implements 接口1 ,接口2,....{
// 类成员
}
3. (1)接口的明规则与类名相同。如果修饰符是 public ,则该接口在整个项目中可见; 如果省略修饰符, 则该接口只在当前包中可见。
(2)接口中可以定义常量, 不能定义变量。 接口中的属性都会自动用 public abstract final 修饰, 即接口中的属性都是全局静态常量。 接口中的常量必须在定义时指定初始值 。
public static final int PI= 3.14;
int PI =3.14; // 在接口中,这两定义语句效果完全相同。
int PI; // 错误! 在接口中必须制定初始值。再类中会有默认值。
(3)接口中所有方法都是抽象方法。 接口中方法都会自动用 public abstract 修饰,即接口中只会有全局抽象方法。
(4)和抽象类一样, 接口也不能实例化, 接口中不能有构造方法。
(5)接口时间可以通过 extends 实现继承关系, 一个接口可以继承多个接口, 但接口不能继承类。
(6)接口的实现类必须实现接口的全部方法, 否则必须定义抽象类。
3. 一个类只能有一个直接父类, 但可以通过 implements 实现多个接口。 当类在继承父类的同时又实现了多个接口时, extends 关键字必须位于 implements 关键字之前。