java基础概念23-接口
一、为什么要有接口
接口是一种规则!是对行为的抽象。
二、接口的应用
多态是基于继承的,但是,搬家公司不可能继承car。
三、接口的定义和使用
四、接口中成员的特点
接口是规则,所以,里面的成员变量是常量,不能做修改!
接口没有构造方法,因为:
1、接口不能实例化;
2、不需要给子类的成员变量赋值。
五、接口和类之间的关系
5-1、类和类的关系-注意
单继承!!!
5-2、类和接口的关系-注意
若是多个接口之间有同名的方法,实现类中只要重写一次,就相当与重写了所有的同名方法!
示例:
5-3、接口和接口之间的关系-注意
若是实现类实现了最下面的子接口,那么需要重写所有的抽象方法。
示例:
六、JDK8开始接口中的新增方法
原因:JDK7以前,只要接口里面一发生变化,其他所有实现接口的类,都要变,否则会报错。
6-1、JDK8以后,接口新增的方法
1、默认方法
2、静态方法
静态方法是不能够被重写的!!!
【回顾】:重写
子类把从父类继承下来的虚方法表里面的方法进行覆盖,这叫重写。
静态的,私有的,最终的方法,不会被添加进虚方法表里面。
6-2、JDK9新增的方法
1、私有方法
将接口的公共代码抽取到一个私有方法里面,因为改方法不想让外类访问。
普通私有方法(private)给接口中的默认方法服务的(default)
静态私有方法(private static)给接口中的静态方法服务的(static)