像所有对象一样,当匿名内部类的最后一个引用不再引用它时,该匿名内部类也有资格进行垃圾回收。我在这里使用狡猾的措辞,因为Java不保证所有事情都会被垃圾回收–唯一的保证就是只要有参考就不会发生。
在这种特殊情况下,那将是
projectSettingsa
removePropertyListener()或本身被垃圾收集的时候。
因为
projectSettings引用了匿名内部类,并且因为内部类引用了它的包含类,所以这意味着包含类也将至少与内部类一样长。

像所有对象一样,当匿名内部类的最后一个引用不再引用它时,该匿名内部类也有资格进行垃圾回收。我在这里使用狡猾的措辞,因为Java不保证所有事情都会被垃圾回收–唯一的保证就是只要有参考就不会发生。
在这种特殊情况下,那将是
projectSettingsa
removePropertyListener()或本身被垃圾收集的时候。
因为
projectSettings引用了匿名内部类,并且因为内部类引用了它的包含类,所以这意味着包含类也将至少与内部类一样长。