[英]private class calling a method from its outer class
好的,所以我有一個用於“高級數據結構”的類(在本例中為一棵樹),所以我將Iterator隱含為其中的私有類。 因此,迭代器需要實現remove函數以刪除最后一個已恢復元素。
現在,我的ADT已經實現了remove函數,在這種情況下,通過為迭代器實現不同的remove函數,幾乎沒有收益(想想,我認為沒有)。
所以我該如何從ADT中調用刪除
我的結構草圖:
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)將不起作用(對嗎?),而this.remove(FooInstance)是同一回事。
我叫什么? (並且不能更改ADT的remove函數的名稱,因為AD T必須滿足Interace的要求,我可以自由更改)
我想我可以將它們都稱為removeHelper函數。
ADT.this.remove(object)
(盡管在這種情況下僅調用remove(object)將起作用,因為它的簽名與迭代器中的remove()方法的簽名不同。)
要獲取內部類“附加”的外部類的引用,請在您的情況下使用ClassName.this:
private class ADT_Iterator impliments java.util.Itorator{
...
public void remove(){
ADT.this.remove(obj)
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.