簡體   English   中英

Java中的匿名子類方法

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM