gpt4 book ai didi

java - JAVA中将接口(interface)定义为变量类型

转载 作者:太空宇宙 更新时间:2023-11-04 06:23:14 25 4
gpt4 key购买 nike

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

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

我们不应该按类或原始数据类型定义变量而不是接口(interface),如下所示:

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

它如何接受接口(interface)变量定义?

最佳答案

一般来说,首选对接口(interface)进行编码(您的第一个示例,使用接口(interface)而不是类声明变量)。这样,如果您需要更改为不同的实现,那么这样做很简单 - 您只需更改 new到其他东西,并且没有其他需要改变,因为您编码到接口(interface)

它起作用的原因是 ArrayList<BigDecimal>实现List<BigDecimal> ,因此与其赋值兼容。这意味着声明为 List<BigDecimal> 的变量允许拥有 ArrayList<BigDecimal> 类型的引用分配给它。这是该语言的设计特征。这是接口(interface)(实际上是一般的 OOP)在 Java 中工作方式的基础。

关于java - JAVA中将接口(interface)定义为变量类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27177003/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com