gpt4 book ai didi

java - 创建匿名类的对象

转载 作者:塔克拉玛干 更新时间:2023-11-01 23:08:07 24 4
gpt4 key购买 nike

我们有内部类

class OuterClass
{
public Iterator getIterator(final String name)
{
class LocalIterator implements Iterator
{
public Iterator next()
{
return new LocalIterator();
}
}
return new LocalIterator();
}
}

是否可以创建一个具有本地迭代器所有功能的匿名类,并使 getIterator 返回该匿名类的对象?主要问题是 - 应该用什么代替

  return new LocalIterator();

最佳答案

我不确定我是否正确理解了您的问题。但是如果你想使用匿名类,你可以这样做:

class OuterClass {

public Iterator<Object> getIterator(final String name) {
return new Iterator<Object>() {

@Override
public boolean hasNext() {
// validate if there is a next object
return false;
}

@Override
public Object next() {
// get the next object and return it, throw an exception if there is no next object
return null;
}
};
}
}

一般来说,您总是能够使用匿名类创建任何接口(interface)的实例(参见,例如,http://docstore.mik.ua/orelly/java-ent/jnut/ch03_12.htm)。您还可以访问类中的 name 参数以及使用 OuterClass.this 访问外部类的 this 实例。

关于java - 创建匿名类的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36125908/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com