如何从内部类中引用封闭类?

我正在扩展ArrayList来创建一个自定义ArrayList,可以在迭代它的同时使用常规ArrayList方法进行修改。为此,我还要创建一个迭代器。

public class SynchronizedList<E> extends ArrayList<E>

{

// Fields here

//Constructors and methods here

public class SynchronizedListIterator<E> implements Iterator<E>

{

public int index;

private E current;

public boolean hasNext()

{

synchronized (/* reference to enclosing List object */) {

//code goes here

}

return false;

}

//more methods here

}

}

在我的hasNext()和next()方法期间,我需要确保列表没有被修改(可以在任何其他时间修改)。因此,我需要在我的shared()块中引用我的封闭类型。

回答:

EnclosingType.this。因此,在您的情况下,它将为SynchronizedList.this

以上是 如何从内部类中引用封闭类? 的全部内容, 来源链接: utcz.com/qa/402549.html

回到顶部