在JAVA中将接口定义为变量类型

时间:2014-11-27 18:30:37

标签: java interface

如何将变量类型定义为接口:

List<BigDecimal> filter = new ArrayList<BigDecimal>();

我们不应该按类或原始数据类型定义变量,而不是按如下方式定义接口:

ArrayList<BigDecimal> filter = new ArrayList<BigDecimal>();

它如何接受接口变量定义?

1 个答案:

答案 0 :(得分:1)

通常,首选代码接口(您的第一个示例,使用接口声明变量,而不是类)。这样,如果您需要更改为不同的实现,那么这样做很简单 - 您只需将new更改为其他内容,而无需更改任何其他内容,因为您编写了接口

它起作用的原因是ArrayList<BigDecimal>实现List<BigDecimal>,因此与它分配兼容。这意味着允许声明为List<BigDecimal>的变量具有分配给它的ArrayList<BigDecimal>类型的引用。这是该语言的设计特征。这对于接口以及一般的OOP如何在Java中起作用至关重要。