java这是计算对象实例的有效方法吗?
这是计算对象实例的有效方法吗?还是我不应该放弃
public class MyClass{
private int instances;
public MyClass(){
instances++;
}
@Override
public void finalize(){
instances--;
}
public static int getInstances(){
return instances;
}
}
解决方案不必是线程安全的
# 1 楼答案
如果我得到了您想要实现的目标,那么您需要计算在应用程序中创建的MyClass实例的数量。如果是这种情况,则需要声明instances变量和getInstances方法static
此外,我会将实例重命名为InstanceCount(或简单地计数),并对getInstances方法执行相同的重命名
# 2 楼答案
将
instances
标记为static volatile
。其次,从不重写finalize
方法。另外,在代码原样中,请注意,您不能在public static int getInstances
方法中访问instances
变量