匿名类是这样的:
SenseOfLife _42 = new SenseOfLife() {
public int eval() {
return 42;
}
};
我不明白为什么这样一个匿名类可以拥有无限数量的实例(这是一个命题)。
当我定义这个匿名类时,它会自动创建一个实例并将其分配给变量_42
。所以我只有一个实例,无法创建新实例。
答案 0 :(得分:4)
您可以通过以下方式创建多个实例:
答案 1 :(得分:2)
如果接口扩展Cloneable
,则可以在技术上克隆该类。
反射可以得到一个新实例。
如果在循环中调用相同的new SenseOfLife()
构造函数,构造函数将被编译为一个多次实例化的类。
答案 2 :(得分:1)
我没有尝试过,但很可能你可以使用反射创建其他实例,即instance.getClass().newInstance()
。