我应该在哪里使用接口(interface)作为变量类型?我看到很多人说这样做是最佳实践,但每个示例都引用集合:
List<String> list = new ArrayList<>()
这种做法主要适用于集合吗? 例如,我从未见过有人在声明 I/O 流时使用接口(interface)。
最佳答案
这个想法是,如果不重要的话,您想隐藏实际的实现。这通常会使代码更简单,并避免意外使用特定于实现的功能。
因此,仅将 ArrayList
与 new
一起使用。在其他地方使用List
。 (除非你有充分的理由)
注意:对于 Java 10,您可以对局部变量使用 var
语法:
var list = new ArrayList<String>();
关于Java接口(interface)作为引用类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51705558/