Java 从外部类调用方法的私有类
好的,我有一个“高级数据结构”类(在本例中是一种树) 因此,我将迭代器实现为一个私有类,其中包含。 因此迭代器需要实现一个remove函数来删除最后一个返回的元素 现在我的ADT已经实现了删除功能, 在这种情况下,为迭代器实现不同的remove函数几乎没有什么好处 那么,我如何从ADT调用remove呢 我的结构草图: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{
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)
}