Java:为什么内部类必须是静态的?

jit*_*itm -2 java garbage-collection class

我知道内部类必须是静态的,因为它将在公共类和内部类之间进行链接,并且将在创建公共类的所有时间创建内部类.我的问题如何检查?我的意思是编写一些简单的应用程序并创建一些循环来创建对象,并在某些分析器中看到GC没有删除对象,我可以做一些类似的事情吗?谢谢.

Thi*_*ilo 8

创建公共类的所有时间都将创建内部类

如果您的意思是在创建外部类的实例时将始终创建内部类的实例,则不是这样.

您可以使外部实例没有附加的内部实例,并且相同的外部实例可以包含任意数量的附加内部实例(以及不同的内部类).

它有点相反:当您创建(非静态)内部类的实例时,该实例将包含对其外部实例的引用(但这是对现有对象的引用,而不是对新对象的引用) :如果没有外部实例,则无法创建内部实例.