Java 从外部类调用方法的私有类

Java 从外部类调用方法的私有类,java,methods,iterator,private-class,Java,Methods,Iterator,Private Class,好的,我有一个“高级数据结构”类(在本例中是一种树) 因此,我将迭代器实现为一个私有类,其中包含。 因此迭代器需要实现一个remove函数来删除最后一个返回的元素 现在我的ADT已经实现了删除功能, 在这种情况下,为迭代器实现不同的remove函数几乎没有什么好处 那么,我如何从ADT调用remove呢 我的结构草图: public class ADT { ... private class ADT_Iterator impliments java.util.Itorator{

好的,我有一个“高级数据结构”类(在本例中是一种树) 因此,我将迭代器实现为一个私有类,其中包含。 因此迭代器需要实现一个remove函数来删除最后一个返回的元素

现在我的ADT已经实现了删除功能, 在这种情况下,为迭代器实现不同的remove函数几乎没有什么好处

那么,我如何从ADT调用remove呢

我的结构草图:

public class ADT {
...
   private class ADT_Iterator impliments  java.util.Itorator{
      ...
      public void remove(){
          //where I want to call the ADT's remove function from
      }
...

    public void remove( Object paramFoo )
    {
     ...
    }

    ...     

}
所以仅仅调用remove(FooInstance)不会起作用(会吗?) 这个.remove(FooInstance)是一样的

我叫什么? (更改ADT删除函数的名称不是一个选项,因为ADT必须满足一个间隔,我可以自由更改)

我想我可以让他们两个都叫removeHelper functon

ADT.this.remove(object)

(虽然只调用remove(object)在这种情况下有效,因为它与迭代器中的remove()方法具有不同的签名。)

要获取内部类“附加”的外部类的引用,请使用ClassName。在您的情况下:

   private class ADT_Iterator impliments  java.util.Itorator{
      ...
      public void remove(){
          ADT.this.remove(obj)
      }