如果在现有实例上分配新类,会发生什么?

Jas*_*hot 2 java android class

只是一个非常简单的问题,在Java中,如果我将我的类的实例设置为全局变量,例如:

MyClass mc = new MyClass();
Run Code Online (Sandbox Code Playgroud)

如果我稍后在代码中为其分配了一个新的类实例:

mc = new MyClass();
Run Code Online (Sandbox Code Playgroud)

该类的旧实例会发生什么,它会导致内存泄漏吗?这是不好的做法吗?

干杯.

tim*_*tim 5

第一个MyClass被垃圾收集删除,mc被指定为一个新的MyClass,除非MyClass的第一个实例被另一个变量引用,在这种情况下垃圾收集不会破坏它.