如何解决“需要包含 X.Y 的封闭实例”?

2022-09-01 02:46:56

我正在 Netbeans 中开发一个小型桌面应用程序。这是我的第一个程序,我面临着一种非常奇怪的错误。我知道我做错了什么,但无法追踪我做错了什么:(

请帮助我解决此错误。

描述:我有一个默认包,并且我正在根据需要在此包中创建新的 Java 类。与其他类一起,我创建了一个这样的类:SrcX

public class X
{
    public class Y
    {//some member functions and variables exist here}

    public class Z
    {//some member functions and variables exist here}

    //some member functions and variables exist here
}

现在,我需要在同一包中存在的其他类中创建其中一个内部类的实例,如下所示:

public X.Y oY = new X.Y();

但我得到以下错误:

需要包含 X.Y 的封闭实例

请帮助我解决此错误。


答案 1

首先,您必须创建X类(外部类)的对象,然后使用语法创建Y类的对象。objX.new InnerClass()

尝试

X x=new X();
X.Y y=x.new Y();

答案 2

您想要声明静态内部类:。public static class Y


推荐