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