接口
1.什么是接口
接口是一种特殊的抽象类
接口和类平级,也是一个数据类型
2.为什么需要接口
2.1使java可以间接的实现多继承
2.2接口约束了实现类中的方法,从而提高了程序的扩展性
2.3方便程序的设计者搭建程序框架
3.如何编写一个接口
在一个java文件中,姜磊的class关键字替换为interface
4.接口的特征
4.1接口中的属性,都是public static final修饰的(公有静态常量)
4.2接口中的方法都是public abstract修饰的(公有抽象类)
4.3接口不能实例化
4.4接口不能有构造方法
PS:接口中可以定义默认方法,但是作为课外内容
5.接口的实现
5.1我们将实现接口的类称为实现类
5.2语法
class <类名> implements <接口名> {
}
5.3这个实现类要实现接口中的所有方法,除非这个类是抽象类
5.4如果一个实现类实现多个接口 那么接口名用,分割
5.5如果这个类既继承父类又实现接口,要先写extends,后写implements
父类是个类型,接口是个能力
子类继承父类符合is-a关系
实现类实现接口应该符合has-a关系
将接口理解为一种能力
6.接口的注意事项
6.1使用向上造型,可以将对象赋给接口类型,担是接口类型只能调用到接口的声明方法
6.2接口也可以继承接口,使用extends关键字,多个接口用,分割
实现所有父类接口中的内容
6.3工作中接口的实际运用
面向接口编程,只编写接口,不编写实现类
抽象类和接口的异同
1.相同点:
不能实例化,都能编写抽象方法
2.不同点(站在接口角度):
不能编写构造方法,不能编写实例成员
能多继承,所有属性都常量,所有方法都抽象
3.如果声明的是一种抽象的能力
使用接口
如果声明的是没有对象的类型
使用抽象类