我了解到static class
是 class
其成员必须在没有 class
实例的情况下被访问.
下面的代码来自 java.util.HashMap
, jdk 1.8
,
public class HashMap<K,V> extends AbstractMap<K,V>
implements Map<K,V>, Cloneable, Serializable {
.........
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;
}
........
}
..........
}
调用构造函数的java语法是什么
Node(int hash, K key, V value, Node<K,V> next){...}
嵌套static class Node
?
最佳答案
I learnt that static class is a class whose members MUST be accessed without an instance of a class.
更准确地说,静态嵌套类是一个类,其实例是实例化的,而没有任何对封闭类实例的引用。
静态嵌套类被视为封闭类的成员(及其方法和字段)。然而,从各个方面来看,静态嵌套类的功能就像顶级类一样。
要创建静态嵌套类的实例,请使用以下语法:
EnclosingClass.MemberClass myInstance = new EnclosingClass.MemberClass();
关于调用静态嵌套类的构造函数的 Java 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32367062/