接口
接口的概述
电脑上面的主板有很多接口,比如内存条的接口,有了这个接口,可以插入多个内存条,主板和内存条可能不是同一家生产厂商,但是两种物体却能结合到一起,正是因为这个接口的存在。只要厂家遵循这个接口,主板和内存条就可以随意更换,提高了可插拔性,接口其实也是体现着一种规范。
在java语言里面使用interface来声明一个接口,接口其实是一个特殊的抽象类,在接口里面的方法全部都是抽象的。
关于接口,有几个需要注意的地方:
接口中只能出现常量和抽象方法(jdk8之后可以有default方法)
接口里面没有构造方法,无法创建接口的对象
接口和接口之间支持多继承,即一个接口可以有多个父接口
一个类可以实现多个接口,即一个类可以有多个父接口
一个类如果实现了接口,那么这个类需要重写接口中所有的抽象方法(建议),如果不重写则这个类需要声明为抽象类(不建议)
接口的作用
可以使项目分层,都面向接口开发,提高开发效率
降低了代码之间的耦合度,提高了代码的可插拔性
开发中尽量使用接口,少用抽象类,一个类可以实现多个接口,却只能继承一个父类
将之前的james开汽车的例子修改一下
将Car定义为接口
创建Benz和BMW类去实现这个接口
Person类和测试类全不变。