Java接口(interface)作为引用类型?

标签 java variables types interface reference

我应该在哪里使用接口(interface)作为变量类型?我看到很多人说这样做是最佳实践,但每个示例都引用集合:

List<String> list = new ArrayList<>()

这种做法主要适用于集合吗? 例如,我从未见过有人在声明 I/O 流时使用接口(interface)。

最佳答案

这个想法是,如果不重要的话,您想隐藏实际的实现。这通常会使代码更简单,并避免意外使用特定于实现的功能。

因此,仅将 ArrayListnew 一起使用。在其他地方使用List。 (除非你有充分的理由)

注意:对于 Java 10,您可以对局部变量使用 var 语法:

var list = new ArrayList<String>();

关于Java接口(interface)作为引用类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51705558/

相关文章:

java - Listview按钮点击抛出空指针异常

php - 将变量从 PHP 脚本传递到 MYSQLI 查询

java - 按插入顺序获取数据的集合

java - 基于HBase和Hadoop MapReduce的分布式multimap

javascript - 语言变量的传递值

c - 类型定义问题

java - 引用类型和对象类型之间的区别?

javascript - Flow - 如何在不检查 instanceof 的情况下使用 getElementById 返回 HTMLInputElement?

java - 带有 pem 证书的 RestTemplate

javascript - javascript中如何将常量更改为变量