java - 接口(interface)列表 - java

标签 java

<分区>

Possible Duplicates:
What does it mean to program to a interface?
Interface List - java

你好。我被要求在几个类中使用接口(interface)列表。我的老师说,这是为了将来更容易交换实现。我被要求尽可能用 List 替换 ArrayList,但我仍然不完全确定这意味着什么。我想我了解什么是界面,但不确定如何继续进行更改。

例如,这是我应该用 List 修改所有 ArrayList 位的类之一的第一部分。感谢任何帮助

public class Simulator
 {
// Constants representing configuration information for the simulation.
// The default width for the grid.
private static final int DEFAULT_WIDTH = 70;
// The default depth of the grid.
private static final int DEFAULT_DEPTH = 40;

// List of animals in the field.
private ArrayList<Animal> animals;

最佳答案

我怀疑您被要求用相应的 List 类型替换 ArrayList 变量、参数等的所有声明...但是不是实例化。例如,如果你有

ArrayList<String> names = new ArrayList<String>();

您可以将其替换为

List<String> names = new ArrayList<String>();

构造函数调用仍然引用 ArrayList 因为你不能直接实例化一个接口(interface) - 但变量是接口(interface)类型来声明“我只使用这个接口(interface)中的东西;我不不需要任何特定于 ArrayList 的成员。”

关于java - 接口(interface)列表 - java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5171204/

相关文章:

java - JSP 中的焦点下拉

javacl - 将 int2* (或任何通用的 vector 缓冲区)传递给内核

java - 无法在 Kotlin 中使用 Optional 模拟 `willReturn`

java - 多个日期条目之间的锻炼间隙

java - 使用具有字符串资源的枚举填充 Spinner

java - 通过 Scene Builder 的 ComboBox 项目?

java - 使用 Java 内联传入 Google 服务帐户详细信息

java - 如何在 Android Studio 自己的方法中检索从 For 循环所做的值更改?

java - android - java表单验证

java - 在参数中存储值