我对看起来很晦涩的东西很感兴趣,但它并不适合我。我们有一个hashSet和Iterator:
Set<String> set = new HashSet<>();
Iterator it = set.iterator();
我知道,迭代器是如何工作的,但对我来说有些奇怪:
Iterator * it = set.iterator(); **
*好的,等等。 Iterator是一个接口,而不是一个类。那么......?
**好吧,set是HashSet类的一个对象,它实现了接口Iterator,所以ith有一个void interator()imlemented,没什么异常。
但是我们如何从Iterator接口创建Iterator对象?
答案 0 :(得分:5)
iterator()
中HashSet
方法的实现返回实现Iterator
接口的对象。返回的对象是一个符合Iterator
规范的具体类的实例。
http://en.wikipedia.org/wiki/Polymorphism_(computer_science)
答案 1 :(得分:5)