如何从它的类中删除一个java对象。假设我有一个类:
class A
{
int hp;
public void update()
{
if(hp <= 0)
{
//here comes the problem. Something like: this.delete(); ??
}
}
}
我的主方法中有一个实例,用于检查它是否应该删除自身。
编辑:在我的例子中,“A”是 2D RTS 中的风车类。它位于风车的 ArrayList 中,并具有以下方法:
init(called when the game starts to load images)
update(this is where i want to delete the object)
draw(for rendering)
最佳答案
在 Java 中,您无法显式地从内存中删除对象。好处是这是由我们所谓的“垃圾收集器”处理的。当它运行时,它会查找没有引用的对象并删除它们。因此,您唯一能做的就是删除对该对象的所有引用(让它们超出范围,将它们设置为 null,等等),然后等待 GC 运行。
没有办法强制 GC 运行,但是,您可以技术上使用 System.gc()
方法“鼓励”它运行。但这并不保证它会运行,并且除了边缘情况之外不需要其他任何情况。
关于java - 从类中删除java中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21245449/