前序
刚开始学习Java的时候, 我们没灌输了两个概念, 一个是class, 基本Java里的东西都是class, 另一个是interface.
interface的中文意思是”接口 ”
从中文意思上解释, 接口就是一个口, 连接两个事物.
然而, 这与我们学的编程是有什么关系?
曾记得有知友说过, 接口在实际生活中, 是上级分配任务于下级的时候使用的, 此处的作用就相当于”老师布置作业, 学生完成”
此处, 假设我们用class代替interface, 会产生什么结果?
- interface只是一个大概框架, 如果使用class的话, 就会添加了各种public method, 这样会导致其他程序员使用前人的code时候, 需要关注的method多了不少
- 使用class private method, 而不用public method. 如果在代码量很少的情况下, 是行得通, 但是这样不利于扩展
- 为什么不利于扩展? 这里就需要关注interface可以多重implement, 而class只能单extend. 这样的结果也是需要将public method集中在同一个class, 而调用的时候, 就会曝光所有的method, 增加出错与复杂度. 而interface就可以减少接触到不必要的method的可能性.
也就是Java中interface其实是连接相对于class大一点的module而是用