在匿名类中使用实例

时间:2014-10-12 04:51:39

标签: java arraylist inner-classes anonymous

我在定义时尝试在其中使用匿名类的实例,但是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

2 个答案:

答案 0 :(得分:1)

如果我以不同的方式阅读您的问题,您似乎正在尝试使用您创建的AbstractCat个实例,并将其添加到您的zoo列表中。

嗯......你不能以你在匿名课程中尝试的方式来做。您可能能够,但我强烈阻止它。

相反,您可以更简单地将您保存的匿名类的实例放入列表中。

AbstractCat cat = new AbstractCat() {
    // impl
}

zoo.add(cat);

答案 1 :(得分:0)

你不会这样做,你需要在定义匿名类后执行zoo.add(cat)