调用静态嵌套类的构造函数的 Java 语法

标签 java inner-classes static-class

我了解到static classclass其成员必须在没有 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/

相关文章:

java - 将数据从一个 Activity 返回到另一个 Activity 的 fragment ?

java - 在移动设备上禁用缩放

java - 为什么我无法访问java中内部类的方法?

c++ - 如何在 .cpp 文件中为私有(private)类成员定义 friend operator<< 而不是在 header 中?

android - 此 Handler 类应该是静态的,否则可能会发生泄漏 (com.test.test3.ui.MainActivity.1)

java - 了解选择哪个构造函数以及为什么

java - 刷新按钮不刷新 jtable

c++ - 当外部类被模板化时嵌套类的外联构造函数

c# - 将一个类标记为静态是二进制破坏性更改吗?

带有枚举的 C# 静态类