接口
接口基础语法
-
接口也是一种引用数据类型
-
接口是完全抽象的,接口是半抽象的(也可以说接口是一种特殊的抽象类)
-
接口定义语法:
[修饰符列表] interface 接口名{}
-
接口之间可以继承,并且支持多继承
-
接口中只包含两部分内容:常量+抽象方法
-
接口中的属性都是public的
-
抽象方法的public abstract可以省略(注意:抽象方法不能有方法体,仍是以;结尾)
常量的public static final也是可以省略的 -
一个非抽象类要实现一个接口,必须实现该接口的所有抽象方法
-
一个类可以同时实现多个接口 弥补了java类之间不支持多继承的缺陷
注意接口之间进行强制类型转换时没有继承关系可以转换,编译会通过,但是运行可能会出错:ClassCastException
继承和接口同时存在(继承在前,实现在后)
public class A extends B implement C,D
接口在开发中的作用
面向接口编程,可以降低程序耦合度,提高程序扩展力。符合OPC开发原则
接口将调用者和实现者解耦合了,调用者和实现者都只跟接口关联,彼此没有牵连。
单实现者和接口可以编译,单调用者和接口也可以编译,所以在以后的大项目开发时,就可以将实现和调用分开同时开发,提高开发效率。