class A {}
class B {}
A a=new A();//(1)
B b=new B();
a=b;//(2)
我认为这里执行完(2)式的时候(1)式用new创建的对象应该符合垃圾回收的条件了,这到题在很多地方都见到过,可都是说不符合,这时在(1)式创建的对象已经没有引用再指向它了,不是吗?
如果这样:
a=new A();
或者:
a=null;
这两种情况下,由(1)式创建的对象是符合垃圾回收的条件的,可在a=b的情况下,不符合吗?