Jam*_*ame 37 java netbeans inner-classes
我正在Netbeans中开发一个小型桌面应用程序.这是我的第一个程序,我面临一种非常奇怪的错误.我知道我做错了但却无法追查我做错了什么:(
请帮我解决这个错误.
描述:我有一个默认包Src,我根据需要在这个包中创建新的Java类.和其他课一样,我创建了X这样一个类:
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
}
Run Code Online (Sandbox Code Playgroud)
现在我需要在同一个包中存在的其他一些类中创建一个内部类的实例,如下所示:
public X.Y oY = new X.Y();
Run Code Online (Sandbox Code Playgroud)
但我收到以下错误:
需要包含XY的封闭实例
请帮我解决这个错误.
ada*_*ost 79
首先,您必须创建X类(外部类)objX.new InnerClass()的对象,然后使用语法来创建Y类的对象.
尝试,
X x=new X();
X.Y y=x.new Y();
Run Code Online (Sandbox Code Playgroud)
Hug*_*ugh 34
你想声明静态内部类:public static class Y.
小智 8
将Y声明为静态以避免创建X的实例.
public class X
{
public static class Y {
}
}
Run Code Online (Sandbox Code Playgroud)