Class A
{
static Vector refs = null;
public static A getInstance();
}
然后在getInstance的时候:
代码:
public static A getInstance()
{
A result = new A();
if (refs == null)
{
refs = new Vector();
}
refs.add(result);
return A.
}
在所有需要用的A的地方,不再使用
A someA = new A();
而用 A someA = A.getInstance();
取代。
这样,在你的A.refs这个静态变量里面就存有所有的A的实例了.
当然,别忘了在finalize里面把自身从refs里面去掉。我不知道这样做会不会影响垃圾收集?
因为这样这个对象就会一直有一个引用。