为什么HashMap中的Entry类在java中是静态的
今天,当我看到java中HashMap类的源代码时,我看到HashMap中用于记录键值对的Entry类是静态的为什么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类为何是静态
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教程: