为什么有接口?
接口就是一种规则,是对于行为的抽象
接口与抽象的区别:
抽象更注重于对于同一类事物共性的抽取,而接口更侧重行为动作,例如兔子,狗和青蛙的父类为动物, 其中狗和青蛙可以游泳,但是兔子不可以游泳,那么此时游泳这个动作就不可以写入父类中,如果直接写再狗类和青蛙类中,可能对于动作的规定就不同了。那么此时我们就可以用接口来规定方法。
接口的定义和使用
接口用关键字interface来定义
public interface 接口名()
接口不能实例化(这点与抽象类相似): 即不可以创建对象
接口和类之间是实现关系,通过implements关键字表示
public class 类名 implements 接口名()
接口的子类(实现类)
要么重写接口中的所有抽象方法。
要么是抽象类
注意: 接口和类的实现关系
可以单实现,也可以多实现
public class 类名 Implements 接口1, 接口2
实现类可以在继承一个类的同时实现多个接口。
public class 类名 extends 类名 implement 接口一,接口2
接口中成员的特点
成员变量: 只能是常量, 默认修饰符final static public
构造方法: 无
成员方法 只能是抽象方法 默认修饰符: public abstract
JDK7以前 接口中只能定义抽象方法
JDK8新特性: 接口中可以定义有方法体的方法
接口和接口的关系