接口也是一种引用类型,可以等同看作 类
- 语法:
[修饰符] interface 接口名{}
- 只能出现:常量、抽象方法
- 其实是一个特殊的抽象类,特殊在接口是完全抽象的
- 没有构造方法,无法被实例化
- 接口和接口之间可以多继承
- 一个类可以实现多个接口(这里的”实现“可以等同看作”继承“)
- 一个非抽象的类实现接口,需要将接口中所有的方法”实现/重写/覆盖“
- 接口和抽象类都能完成某个功能,优先选择接口。因为接口可以多实现,多继承,并且一个类除了实现接口之外,还可以去继承其他类(保留了类的继承)
1 | public interface A1 { |
例子
客户业务接口
接口作用:
- 可以使项目分层,所有层都面向接口开发,开发效率提高了
- 接口使代码和代码之间的耦合度降低,就像内存条和主板的关系,变得”可插拔“,可以随意切换
1 | public interface CustomerService { |
接口的实现类
该类的编写完全是面向接口去实现的
1 | public class CustomerServiceImpl implements CustomerService { |
调用
1 | public class Test { |