接口
一、 接口的概念
在程序中接口就是对规则的抽象和定义。
二、 接口语法结构
接口和类是同等级的事物,接口也表示是一种引用类型。
接口编译后也是生成对应的字节码,也就是*.class文件。
接口与抽象类一样,不能实例化本身。抽象类需要和子类配合使用;接口需要和实现类配合使用。
接口中 只能定义 静态常量 与 抽象方法,访问权限默认为 public。
定义静态常量可以省略 final static ;定义抽象方法可以省略 abstract。
JDK8 开始允许定义 default 默认方法,也就是给抽象方法一个默认实现,从而子类可以不用重写。
三、 接口的实现类
1、
2、
[A extends B] A与B的关系为:A是B的子类;java中类是单继承,一个类只有一个直接父类。
A obj = new A(); B obj = new A();
[A implements X,Y] A与X的关系为:A是X的实现类,同理Y; java中类可多实现,一个类可以实现多个接口,如果一个类 实现多个接口,那么它需要实现所有接口中的抽象方法。
A obj = new A(); X obj = new A(); Y obj = new A();
四、 接口的继承
生活有一种协议称为补充协议,再现有协议基础上追加协议。程序中也可以使用继承接口 方式重用父接口中的抽象方法和常量。接口是多继承,一个接口可以继承多个接口。
五、 特殊接口
常量接口:接口中只有静态常量
标志接口:接口中什么都没有,仅表示一种类型
六、 高内聚低耦合
内聚:故名思议,表示内部间聚集、关联的程度,那么高内聚就是指要高度的聚集和关联。 高内聚视指类与类之间的关系而定,高,意思是他们之间的关系要简单,明了,不要有很强 的关系,不然,运行起来就会出问题。
耦合:也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联 系越紧密,其耦合性就越强,模块的独立性则越差。