Java —— interface关键字
1.接口的理解
本质是一套规范、标准。制定好后都要遵守。
类和接口的实现关系 / 有这个接口就有这个功能 / 所有接口类共有的属性 / 功能的封装 / 一套规范
2.定义接口的关键字:interface
3.接口内部结构的说明
-
可以声明:
-
属性:必须使用public static final 修饰(全局常量,即不能改的)
-
方法:
jdk8之前:只能声明抽象方法,修饰为public abstract
jdk8:声明静态方法、默认方法(jdk源码)
jdk9:声明私有方法(jdk源码)
-
-
不可以声明:构造器、代码块等
4.接口与类的关系 :实现关系(接口的实现类)
5.格式: class A extends SuperA inplements B,C{}
- A对于SuperA来说,叫做子类
- A对于B,C来说,叫做实现类
6.满足此关系之后,说明:
- 类可以实现多个接口(一定程度上补充了类的单继承性的局限性)
- 类必须将实现的接口中的所有的抽象方法都重写(或实现),方可实例化。否则,此实现类必须声明为抽象类。
7.接口与接口的关系:继承关系,且可以多继承
8.接口的多态性
- 类的多态性: 父类 变量名 = new 子类对象;
- 接口的多态性: 接口名 变量名 = new 实现类对象;
9.面试题:区分抽象类和接口
-
共性
- ①都可以声明抽象方法
- ②都不能实例化
-
不同
- ①抽象类一定有构造器、接口没有构造器
- ②类与类之间是继承关系、类与接口之间是实现关系、接口与接口之间是多继承关系