【发布时间】:2014-09-01 18:44:46
【问题描述】:
我有一个名为Point 的类,如下所示:
public class Point {
public int x;
public int y;
public Point(int X, int Y){
x = X;
y = Y;
}
public double Distance(Point p){
return sqrt(((this.x - p.x) * (this.x - p.x)) + ((this.y - p.y) * (this.y - p.y)));
}
protected void finalize()
{
System.out.println( "One point has been destroyed.");
}
}
我有一个来自此类的对象,名为 p,如下所示:
Point p = new Point(50,50);
我想删除这个对象,我搜索了怎么做,我找到的唯一解决方案是:
p = null;
但是Point的finalize方法在我做完之后就不起作用了。我能做什么?
【问题讨论】:
-
如果没有对对象的引用,垃圾收集器会在它认为必要的时候处理它。
-
您说要删除该对象。这在 Java 中并不常见。通常,垃圾收集器负责释放内存,
close方法负责释放其他资源。你想破坏对象达到什么效果?要么让它被 GC 处理,要么编写并使用close方法可能是要走的路。
标签: java class object-destruction