如果我创建类型的对象和类型的lion
对象prey
,我想做:
lion.eat(prey)
在。。。期间
lion.energy=energy+10,as an example.
prey=null
但我也想从逻辑生态系统中彻底摧毁猎物。
我知道垃圾收集器和所有这些,而且你们所说的关于垃圾收集器的所有事情都会在没有任何东西指向它时立即销毁该对象。
但我正在一个虚拟生态系统中实现一个包含数百万狮子和鹿实例的遗传算法。现在如何消除死去的动物?
请不要开玩笑,我厌倦了总是在垃圾收集器和对象谋杀的相同答案上绊倒,我想要一个解决方案的描述,以在逻辑上从狮子方法中取消引用猎物对象。
public class prey
{
int energy=10;
}
public class lion
{
int energy=0;
public void eat(prey aDeer)
{
this.energy=aDeer.energy+this.energy; ///acumulate energy values from prey
aDeer=null;//destroys the object from ecosystem, which seems impossible to do in java
}
}