java - 从类中删除java中的对象

标签 java object

如何从它的类中删除一个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/

相关文章:

java - 每次出现时字符串在段落中的索引

class - VBA:字典内存问题?填充 dict、.removeall、填充问题

java - 递归Java程序中的新对象创建

ruby - 为什么允许在 Ruby 类之外定义全局方法?

java - 第一次尝试使用多个类时出现 NullPointerException 错误

java - 在android中绘制一个大尺寸的三角形imageview

Java代码同步问题

java - java中的矩阵转置(需要解释)

c++ - Linux 和 C++ : Easy way to exchange objects between two processes

javascript - JS IE8,7,9 错误 'attr(..)' is null or not an object