我正在查看JDK8的HashMap实现的源代码。我注意到Hashmap使用的是Nodes数组。
transient Node<K,V>[] table;
在HashMap类中定义了一个Node类。 节点类被声明为静态类。以下是节点类的代码
static class Node<K,V> implements Map.Entry<K,V> {
final int hash;
final K key;
V value;
Node<K,V> next;
Node(int hash, K key, V value, Node<K,V> next) {
this.hash = hash;
this.key = key;
this.value = value;
this.next = next;
}
/*
Some other methods
.
.
.
.
.
*/
}
我想知道该类是否具有static关键字,我们如何创建该静态类的对象? 如果我们要为静态类创建对象,那么创建静态类的意义何在。(静态是与实例无关的东西)
如果要创建此类的对象,为什么与内部类(非静态嵌套类)相比,将此类创建为静态嵌套类。