关于Java中接口作用的深入理解。这是个很容易遇到的问题吧,看下面红色的部分应该就能理解了。要把接口视作一种共同规范。
/ 2019/3/1 补充 : 接口的存在也是为了弥补类无法多继承的缺点,假设一个情况,父类--Animal 子类--Dog、Cat 、People、Sheep、Tiger、Lion。假设在 Animal 中都存在 eat()这个公有的方法。但是 Tiger 和 Lion 、People 还拥有 Hunt 的方法,但是hunt 不存在在 Dog / Cat中,所以需要对 Tiger Lion People 上面新建一个 接口。用于特定标识他们公有的。
------- 其实上面的情况还有种方法解决 : 即在 父类下面再写一个三者的父类,加入新的动作,但是,这样五者不是在同一级上面的了,代码结构混乱,所以引入了接口。而在面向对象的Python语言中是允许多继承的。 总之,引入抽象类和接口是为了是代码逻辑更加清晰,建议去看一些简单的jdk源码,然后根据源码自己画一个类的UML图,理解一下平时所有的集合框架List Set这些的整体结构。
2019/3/22 补充 : 接口在扩展性方面的体现 : 类 B 调用了 接口 A里面的一个方法,但是这个