想象一下这个示例java类:
class A {
void addListener(Listener obj);
void removeListener(Listener obj);
}
class B {
private A a;
B() {
a = new A();
a.addListener(new Listener() {
void listen() {}
}
}
Run Code Online (Sandbox Code Playgroud)
我是否需要向B添加finalize方法以调用a.removeListener?假设A实例也将与其他一些对象共享,并且将比B实例更长.
我担心我可能会在这里创建垃圾收集器问题.什么是最佳做法?
java ×1