接口内容:
Java7:
1、常量
2、抽象方法
Java8
3、默认方法
4、静态方法
Java9
5、私有方法

**

抽象方法

接口当中的方法,修饰符必须是两个固定的 publicabstract
可以省略一个或两个修饰符

默认方法

默认方法是,可以解决接口升级的问题
如果接口升级,新增了抽象方法,而已经使用到这个接口的实现类如果已经被使用了,没有重写新增的抽象方法,就会出现错误。
调用默认方法,如果实现类中没有,会向上找接口

私有方法

普通私有方法:解决多个默认方法代码重复的问题
静态私有方法:解决多个静态方法代码重复问题

使用

接口不能直接使用,必须要有一个实现类来实现接口,实现类可以实现多个接口
实现类必须重写接口中所有的方法
如果实现类没有实现接口中所有的抽象方法,那么这个实现类必须是个抽象类

接口不能有静态代码块和构造方法
接口可以定义成员变量,必须用 public static final修饰
如果实现类实现多个接口中有抽象方法重复,只需要重写一次
如果实现类实现多个接口中有默认方法重复,必须重写默认方法,只需要重写一次
如果子类直接父类方法和接口中默认方法重复,父类优先于接口实现