一.包括
一个接口中可包含:常量,抽象方法,默认方法,静态方法,私有方法
也可以有“成员变量”,但从效果来看,就是接口的【常量】
二.常量
1.常量由public static final 修饰
2.常量必须进行赋值
3.常量名全部使用大写,用下划线分离
三.抽象方法
1.必须被实现类覆盖重写
2.public abstract可选择性忽略
四.默认方法
1.public default void method(参数列表){}
2.解决接口升级问题
3.接口默认方法的调用 实现类实例名.方法名,实现类不需要(但可以)重写接口默认方法,实例在实现类找不到方法会向上找接口,故可以直接调用
五.静态方法
1.public static void method(参数列表){}
2.静态方法调用 接口名.方法名,不能用接口实现对象调用
六.私有方法
<1>普通私有方法
解决多个默认方法代码重复问题,比如两个默认方法有某部分同样的功能,可以写个私有方法实现他们共有的功能
<2>私有静态方法
解决多个静态方法代码重复问题,同上。
七.注意:
1.接口没有静态代码块或构造方法
2.一个类只有一个直接父类,但是一个类可以重复实现多个接口
3.如果实现类的多个接口中有重复的抽象方法,只需重写一次即可
4.实现类没有实现接口所有抽象方法,那它必须是个抽象类
5.实现类多接口中有多个冲突默认方法,就要覆盖重写
6.一个类直接父类的方法和接口的默认方法冲突,优先继承
附:
1.类与类之间是单继承的
2.类与接口是多实现的
3.接口与接口之间是多继承的
注意:
1.可以多个父接口之间抽象方法重复
2.多个父接口之间默认方法重复,子接口必须覆盖重写