我正在尝试了解 Java 中的 OOP,但遇到了一个我自己无法理解/解决的常见问题。我研究过这个主题并找到了相关 Material ,但我仍然无法理解。 (请原谅我的无知)。
1-我有一个仅包含一个方法的接口(interface),并且该方法在实现时应返回一个字符串列表。 (这里一切都很好)
2- 抽象类实现接口(interface)并包含一些额外的方法,例如:
public void setSomething(List<MyInterface> something) { this.something = something; }
public List<MyInterface> getSomething() { return something; }
现在,一个新的子类扩展了抽象类,我想做的事情之一是调用方法 setSomething 并创建一个 MyInterface 类型的列表。
有人可以指出我如何实现这一目标的正确方向吗?
谢谢
最佳答案
以最简单的方式,例如
public List<Whatever> generateList() {
return new ArrayList<>();
}
好吧,说真的:上面返回一个空列表。但这对于一些初步测试来说应该足够了。
然后你可以继续前进
public List<Whatever> generateList() {
List<Whatever> results = new ArrayList<>();
results.add(new Whatever());
return results;
}
...添加实际对象,当然,只有您知道如何创建。
或者也许,根据您的输入寻求非常简单的解决方案:
class DerivedClass ... {
private final List<YourInterface> someObjects;
void setSomething(List<YourInterface> otherObjects) {
this.someObjects = otherObjects;
}
List<YourInterface> getSomething() {
return this.someObjects;
}
编辑:看来您的问题是您不知道如何创建界面的对象。事实是:那是不可能的。您只能实例化(调用 new)类。换句话说:您需要一些实现 MyInterface 的类;你是该类的"new"对象;并将这些对象添加到您的列表中。
关于java - 如何在Java中创建某种对象类型的List?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39319700/