为什么java有'静态内部类'?它的真实世界用途是什么?设计师在添加此功能时可能会想到什么?

JRo*_*mio 3 java

可能重复:
静态内部类是一个好主意还是糟糕的设计?

Java支持静态内部类,语言设计者在添加它时必须考虑的内容,它解决的现实世界问题是什么?

Mic*_*rdt 13

当你希望内部类在外部类中"逻辑地限定"时(即因为它与外部类密切相关并且自身没有意义),静态内部类很有用,但是不需要"代码" scope"常规内部类的特性,即内部类不需要访问的外部类的私有字段或方法,并且内部类的实例在逻辑上不属于特定的外部类实例.

例如,AbstractMap有一个SimpleEntry表示地图条目的静态内部类.由于地图条目不需要访问包含它的地图,因此它可以是静态的.