1、接口
当抽象类中的方法都是抽象的时候,可以将抽象类用接口来定义和表示,用关键字interface来修饰。定义接口的关键字不再是class,而是interface。
接口中常见的成员均有固定的修饰符,接口中的成员权限都是公共权限
①全局变量 public static final
②抽象方法 public abstract
类与类之间是继承关系,而接口和类之间是实现关系,在Java中不支持多继承,对多继承模式进行了改良,用多实现的方式来体现。一个子类在继承一个父类的同时可以实现多个接口。接口不可以实例化,实现接口的子类只有覆盖了接口中所有的抽象方法后,该子类才能够实例化,否则该子类就是一个抽象类。
2、抽象类和接口的异同点
相同点:
抽象类和接口都是不断向上抽取而来的。
不同点:
①抽象类需要被继承,只能单继承,接口需要被实现,可以被多实现。
②抽象类中可以定义抽象方法和非抽象方法,子类继承后可以直接使用非抽象方法。接口中只能定义抽象方法,必须由子类去实现。
③抽象类的继承是所属关系,定义的是事物体系的共性内容,接口的实现是like a关系,定义的是事物体系额外的功能。