【发布时间】:2014-05-27 03:25:56
【问题描述】:
我是 Java 新手,正在学习中。 我需要一个有有效理论支持的以下问题的答案。 考虑以下行-
Iterator itr = al.iterator();
其中 al 是一些 ArrayList(类)类型的集合对象。 我想知道这里的返回类型是什么
al.iterator()
它不一定是原始数据类型,那么它可能是一个对象,但是由于每个对象都属于一个类,那么它是哪个类。文档和书籍等说它具有迭代器的返回类型。但是 Iterator 是一个接口。另一方面,我们说接口不能有直接对象。虽然接口变量可以引用实现它的一个或多个类的对象。
-
所以上面的语法是正确的(因为迭代器变量 itr 可以用来引用某个实现它的类的对象)。但实际上它是哪个类的对象?并且可以用该类的引用变量替换 itr 不会导致错误(我已经尝试用上面行中的 ArrayList 类的引用变量替换 itr 但这会导致错误) .我也经常以泛型形式使用这种语法,但不知道这背后的理论。我假设我在这里缺乏一个非常基本的概念。请改正。
【问题讨论】:
-
Here's javadoc.
-
概念是programming to an interface @SotiriosDelimanolis 我记得我们有相同的声誉xD
-
@nachokk 我有一个容易上瘾的性格。我在这里花了太多时间。
标签: java methods collections iterator return-type