繁体   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