我試圖做一個簡單的小類,我可以在C/C++中創建類似於宏的東西。基本上,我希望能夠調用下面的代碼,當我需要,雖然對象列表執行一些操作,例如:Java中的通用抽象類
new IteratableList{
void action() {
// do something
}
}.perform();
我還沒有在Java中在相當長的一段程序,我可以「噸弄清楚什麼是錯我的代碼,當我嘗試添加抽象操作方法:直到我鍵入最後一個方法
import java.util.List;
import java.util.Iterator;
public abstract class IteratableList<T> {
public void perfrom(List<T> ls) {
Iterator<T> l = ls.iterator();
while (l.hasNext())
action(l.next());
}
private abstract void action(<T> obj);
}
我的代碼沒有得到任何錯誤。我得到的錯誤告訴我從方法頭中刪除抽象,當我更改時,我得到了其他錯誤的列表。我覺得我錯過了一個基本的東西。有沒有人看到明顯的錯誤?
爲什麼我低調?澄清意見會更有幫助。 –
Jeroen - 因爲你不能有一個私人的抽象方法。由於(根據定義)它必須是'protected'或'public'或'package'才能覆蓋子類。我反對這一行'私人抽象 void action(T obj);'。 –
@ElliottFrisch:就在它下面。我首先關注錯誤的通用任務,而不是訪問者。我會編輯它以防止誤解。 –