[英]Anonymous subclass methods in Java
所以基本上,我有一個對象,該對象初始化后創建一個匿名子類:
public NECRONOMICON;
NECRONOMICON = new Item(arguments here){
public ArrayList<String> str = new ArrayList<String>();
public ArrayList<String> getStr(){
return this.str;
}
那是偽代碼,但希望我的意圖很明確。 這部分工作正常,它允許我創建item子類。
但是,當嘗試訪問此方法時,
NECRONOMICON.getStr()
我得到The method getStr() is undefined for the type Item
任何幫助,將不勝感激。
getStr()方法將不可見,因為您正在創建“ Item”的匿名子類。.僅“ Item”及其父類的方法可見。
換句話說,當您創建類似“ new Item(){}”的對象時,實際上是在創建Item類的子類。 這個新的子類是匿名的,您在其中定義的任何新方法都無法通過其引用訪問。 發生這種情況是因為引用變量的類型為'Item',並且類型'Item'不包含名為'getStr()'的方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.