例如,一个方法返回一个 List 类型的对象。
public List<Foo> bojangles ()
...
一些代码调用方法FooBar.bojangles.iterator();
我是 Java 的新手,但据我所知.. List 是一个接口(interface),因此迭代器方法必须在其他地方实现。在挖掘 Java.Util 的源代码时,这正是我发现的,一个 iterface。 Iterator 本身是一个 iterface...所以在某个地方,我猜有被调用的类或抽象类实际上具有这些方法的逻辑:next() 和 hasNext()。但是在哪里呢?
最佳答案
看看 javadoc for List .它给出了已知实现类的列表。这些类中的每一个都必须实现 iterator() 方法。
如果深入研究这些类的源代码,您会发现它们通常在私有(private)嵌套类中实现 Iterator 接口(interface)。
关于Java 基础 - 实现在哪里进行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3589052/