您好,
定义类时,我应该总是定义一个相应的接口吗?
的优点是什么?
List list = new ArrayList();
为什么不呢 -
ArrayList arrayList = new ArrayList();
由于
答案 0 :(得分:6)
执行前者的优势使您可以在不必重新声明变量的情况下切换实现。
这样你可以使用ArrayList,LinkedList(任何实现List的东西)等。
答案 1 :(得分:2)
优点是您可以更改其他实现,而无需更改其余代码。例如,您可以使用LinkedList。
这提高了可维护性。
答案 2 :(得分:0)
第一种方式的优点是键入的时间更短。
答案 3 :(得分:0)
interface
是其他类可以基于的合同标准。我喜欢在API或应用程序编程接口的上下文中考虑它,它允许其他开发人员针对一组标准方法进行编程。类有义务实现interface
定义的方法,但也可以实现其他可能未记录的私有方法(例如,接口的指定方法使用的实用方法)。