1、接口的定义
接口(interface)用来描述类具有什么功能,而不给出每个功能的具体实现。接口只包含常量和抽象方法,不能含有实例域,也不能在接口中实现方法!接口在许多方面都与抽象类很相似,但是它的目的是指明相关或者不相关类的多个对象的共同行为。
每个类只能拥有一个超类,但能拥有多个接口。接口提供了多继承的好处,且避免了多重继承的复杂性和低效性。
与抽象类相似,不能使用new 操作符创建接口的实例。类和接口之间的关系称为接口继承。
服务提供商有一句话“如果类遵从某个特定接口,那么就履行这项服务”。比如:Arrays类中sort方法可以承诺对对象数组进行排序,但要求满足下列前提:对象所属的类必须实现了Comparable接口。
让一个类实现接口的两个步骤:
- 将类声明为实现给定的接口,关键字 implements
- 对接口中的所有方法进行定义!
修饰符 interface 接口名{
常量声明
方法签名
}
//example
abstract class Animal{
public abstract String sound(); //抽象方法
}
class Chicken extends Animal implements Edible{ //实现了Edible 接口
...
@Override
public String howToEat(){
return "chicken:fry it";
}
@Override
pub