java - 从另一个类(但同一个包)创建内部类实例

标签 java oop inner-classes

以下类在默认包中定义。

外部.java:

public class Outer {

    public class Inner {

    }
}

Main.java:

import Outer.Inner;

public class Main {

    public static void main(String[] args) {

        Outer.Inner inner = new Inner();
    }

}

我得到:

Inner cannot be resolved to a type

我确实知道可以从同一个包中实例化内部类。
出了什么问题以及如何解决?

谢谢。

最佳答案

您的内部类应该是静态的(否则,您将需要一个外部实例才能创建内部实例,这是糟糕的设计),并且您应该使用

Outer.Inner inner = new Outer.Inner();

不,你永远不应该将类放入默认包中。

关于java - 从另一个类(但同一个包)创建内部类实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24535962/

相关文章:

java - Android 中的首选项不会保留

java - 如何在 LWJGL 中将纹理正确映射到六边形?

Java 使用参数和方法,我该怎么做?

java - 使用外部类访问静态类成员

ios - 在模型中快速使用内部类是一种好习惯吗?

java - 如何用 Spring + Hibernate + MySQL 实现搜索过滤器?

java - 在 Java 桌面应用程序中持久保存数据的最佳方法是什么?

delphi - 当一个类已经扩展了一个类和一个接口(interface)时如何继承另一个类

Python:递归isinstance检查

java - java 是否应该给出有关从内部类分配私有(private)变量的错误消息?