为什么HashMap中的Entry类在java中是静态的

为什么HashMap中的Entry类在java中是静态的,java,static,hashmap,nested-class,Java,Static,Hashmap,Nested Class,今天,当我看到java中HashMap类的源代码时,我看到HashMap中用于记录键值对的Entry类是静态的 static class Entry<K,V> implements Map.Entry<K,V> { } 静态类条目实现Map.Entry{ } 据我所知,类的静态成员对于类的所有实例只有一个值。这种现象如何适用于静态嵌套类。我还阅读了StackOverFlow中的一些讨论,这些讨论不能得出确切的观点。下面是一些解释的链接,解释了Entry类为何是静态

今天,当我看到java中HashMap类的源代码时,我看到HashMap中用于记录键值对的Entry类是静态的

 static class Entry<K,V> implements Map.Entry<K,V> {

}
静态类条目实现Map.Entry{
}
据我所知,类的静态成员对于类的所有实例只有一个值。这种现象如何适用于静态嵌套类。我还阅读了StackOverFlow中的一些讨论,这些讨论不能得出确切的观点。下面是一些解释的链接,解释了Entry类为何是静态的

 static class Entry<K,V> implements Map.Entry<K,V> {

}

据我所知,类的静态成员对于类的所有实例只有一个值

这种现象如何适用于静态嵌套类

事实并非如此。静态嵌套类没有隐含的周围对象,因此无法访问封闭类的非静态成员


您发布的链接包含多个答案,所有答案都与上述内容相同。

这实际上只是出于组织目的。静态嵌套类的行为类似于包中的顶级类。在这种情况下,Entry类与HashMap直接相关,因此嵌套它而不污染主包是有意义的

我建议您阅读Oracle教程: