定义后,我尝试在其中使用匿名类的实例,但是IDE给出了多个错误。我评论了下面的问题。这是使用匿名类的一种完全错误的方法,还是因为我写错了什么?提前致谢!
zoo = new ArrayList <AbstractCat>();
AbstractCat cat = new AbstractCat (){//trying to create an anonymous class and add the instance cat to the ArrayList
zoo.add(this); //this line has multiple errors, I tried add(cat) but didn't work
.....
// override the methods in AbstractCat
最佳答案
如果我以不同的方式阅读您的问题,似乎您正在尝试使用已创建的AbstractCat
实例,并将其添加到您的zoo
列表中。
好吧...您无法以您试图从匿名类中尝试的方式进行操作。您也许可以,但是我强烈不建议这样做。
相反,将您持有的匿名类的实例放到列表中会更简单。
AbstractCat cat = new AbstractCat() {
// impl
}
zoo.add(cat);