接口
1.格式
public interface 接口名
2.使用
创建一个实现类,实现这个接口(implement)
重写接口中的抽象方法,去实现这个方法
创建实现类对象(接口不能创建对象)
调用重写的方法
3.接口的默认方法
修饰符 default 返回值类型 方法名(参数){
方法体
}
创建实现类,实现接口
不用重写默认方法
创建实现类对象,调用接口中的默认方法
接口中的默认方法可以重写(当实现类觉得接口中的默认方法功能不强大的时候)
使用场景:添加新功能
4.接口的静态方法,可以接口名直接调用
5.接口中的成员变量,默认会加上static final,需要手动赋值,不能二次赋值,一般变量名都是大写,可以接口名直接调用。
6.接口可以多实现,一个实现类可以同时实现多个接口。(可以在继承一个类的时候实现多个接口)
子类 extends 父类 implments 接口1,接口2…
注意事项
一个类继承一个父类的同时实现一个或者多个接口,要重写所有的抽象方法。
如果两个接口中有重名的抽象方法,那么我们就可以重写一个。
如果两个接口中有重名的默认方法,那么我们必须重写一个。
如果接口中有和父类的方法一样的默认方法,那么我们先执行父类的。
7.接口不仅可以多实现,还可以多继承,但类不能多继承。
注意:父接口中如果有重名的默认方法,那么子接口中要重写一次。
8.接口的使用场景:
在工作中,作为一个功能的大集合来用
9.接口和抽象类的区别
接口一般只写方法,作为一个标准,内容单一
抽象类一般作为顶级的父类,具有抽象方法,普通方法,构造方法,成员变量