1.java语言的继承是单一继承,一个只能有一个父类。所以java语言给我们提供了一种机制,用于处理继承单一的局限性,他就是接口。
接口:接口是一个比抽象还抽象的类,接口里所有的方法全是抽象方法。
接口和类的关系是实现,不想抽象类和类的关系是继承,这里要用一个关键字implements和interface关键字
格式:和类的创建相似,只需将class替换成interface
例:interface 接口名{
}
2.接口的成员特点
a 只能有抽象方法
例如定义一个接口:
interface Animal {
public void eat() {
}
}
这个系统会报错,因为接口里只能有抽象方法,所以将其改为如下:
interface Animal {
public abstract void eat( );
}
b.注意,接口不能创建对象(不能实例化),因为我们要创建一个类去实现,类与接口的关系是实现,一个类实现一个接口必须实现所有方法。
要想创建对象,就得重新创建一个类来实现Animal类
class Cat implements Animal {
public void eat () {
}
}
和抽象类的继承有点相似。
c.系统默认使用public和abstract修饰方法,而且也只能使用public和abstract修饰方法,其他则不行。
d.只能有常量,默认使用public static final来修饰成员变量,建议:所有的地方都加上默认修饰符。
interface Animal {
int num ; //编译会出错,因为接口里只能有常量
public abstract void eat ();
}