我想知道是否有办法扩展迭代器接口的功能。假设我们有一个实现 Iterable 接口的类(在上面的示例中,我添加了 myFunction,而不是 Iterator 接口的覆盖函数)。
public class MyClass implements Iterable{
@Override
public Iterator iterator() {
return new Iterator() {
@Override
public boolean hasNext() {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public Tuple next() {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void remove() {
throw new UnsupportedOperationException("Not supported yet.");
}
public void myFunction(){
}
};
}
}
如果我将此代码放在另一个函数中,则会出现编译错误(“找不到符号”),我想知道为什么会发生这种情况。
public void anotherFunction(){
MyClass a = new MyClass();
a.iterator().myFunction();
}