java - Java 中嵌套类的目的是什么?

标签 java inner-classes nested-class

我从 Oracle Website 看到了这个示例代码关于 Java?

public class Parent {
    class InnerClass {
        void methodInFirstLevel(int x) {
           // some code
        }
    }

    public static void main(String... args) {
        Parent parent = new Parent();
        Parent.InnerClass inner = parent.new InnerClass();
    }
}
  • 构造 parent.new InnerClass() 的目的是什么?
  • 什么样的类适合这样的结构?

标题可能具有误导性:我了解有关此构造的所有内容。

我只是不明白何时何地使用此 Java 功能。

我找到了另一种语法来做同样的事情:Java: Non-static nested classes and instance.super()

有很多关于此结构的引用资料,但没有关于应用程序的引用资料。

[引用]

最佳答案

What is the purpose of parent.new InnerClass()?

这是为了演示——使用这种机制构造内部类的情况很少见。通常内部类仅由外部类在使用 new InnerClass() 创建时创建。和往常一样。

What kind of classes would be suited to such construction?

Map.Entry<K,V>一个经典的例子。在这里你可以看到一个名为 Entry 的内部类。应该由所有实现 Map 的类创建.

关于java - Java 中嵌套类的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19180648/

相关文章:

java - 内部类中有变量

python - Python Tkinter : Cant configure button from another class

java - 查询数据一次并在整个应用程序中像缓存一样使用它

java - 为什么它说 "Cannot refer to a non-final variable i inside an inner class defined in a different method"?

java : "uses unchecked or unsafe operations. Recompile with..."

java - 无法编译内部类源文件,导致错误?

c++ - 带数组的嵌套结构

java - Spring boot ConditionalOnBean 注解

java - 关于断言和异常; java

java - sharepoint 2013如何使用soap API更新托管元数据字段(TaxonomyFieldTypeMulti)