【发布时间】:2011-01-27 18:00:07
【问题描述】:
这与我对此线程中提供的问题的回答有关:Are Inner Classes lightweight?
我记得从我的阅读中,如果你只能从一个匿名内部类创建一个对象,因此,如果你想说创建一个 ActionListener 类并想从这个类创建多个对象(不使用反射),不使用匿名内部类,而是使用私有内部类或支持类,但人们告诉我我错了。有人可以为我澄清一下吗?请检查链接,因为它包含更多详细信息,但如果有任何不清楚的地方,请询问!
【问题讨论】:
-
谢谢,我想我明白这一点,但这需要创建多个类——如果我理解正确的话。问题是针对单个匿名内部类的代码,您可以创建其对象的多个实例吗?而且我的意思不是使用循环,因为这又会创建多个类 --- 哎呀,你的评论去哪儿了?
-
我认为你的意思是它的类的多个实例?一个对象本身就是一个实例
-
@Hovercraft,无法将可读代码放入 cmets。 ;)
-
彼得和约翰:感谢 cmets!我在链接中有代码。你想让我在这里转发吗?
-
@Hoevercraft 如果你定义了两个可运行的 Runnable r1 = new Runnable(){ .. } 和 Runnable r2 = new Runnable(){ ... } 然后 r1.getClass() != r2.getClass () 然而,就像 Peter Lawrey 回答的那样,循环会创建同一个类的多个实例
标签: java anonymous-inner-class