接口与抽象类有什么区别,什么情况下使用接口,什么情况下使用抽象类。在实际编程中,对这两个总是感觉不深。记得在学习《设计模式》时刘伟编–那本书几乎都是针对接口
来写的,好像只要是使用多态,他都写个接口,然后某某类去实现它,然后再来个向上转型。
设计模式最重要的两句话是:
发现变化封装变化
面向接口编程而不是面向实现编程第三句话是我参考阿里技术专家写的他说设计模式就是找第三者,
实现俩个类之间解耦。
什么时候使用抽象类和接口
- 如果你拥有一些方法并且想让它们中的一些有默认实现,那么使用抽象类吧。
- 如果你想实现多重继承,那么你必须使用接口。由于Java不支持多继承,子类不能够继承多个类,但可以实现多个接口。因此你就可以使用接口来解决它。
- 如果基本功能在不断改变,那么就需要使用抽象类。如果不断改变基本功能并且使用接口,那么就需要改变所有实现了该接口的类。
参考文献:java抽象类与接口