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
}
次のように、同じパッケージに存在する他のクラスの内部クラスの1つのインスタンスを作成する必要があります。
public X.Y oY = new X.Y();
しかし、私は次のエラーが発生しています:
x.Yを含む囲みインスタンスが必要です
このエラーの解決にご協力ください。
まず、Xクラス(外部クラス)のオブジェクトを作成し、objX.new InnerClass()
構文を使用してYクラスのオブジェクトを作成する必要があります。
試して、
X x=new X();
X.Y y=x.new Y();
静的な内部クラスを宣言したい場合:public static class Y
。
Xのインスタンスを作成しないように、Yを静的として宣言します。
public class X
{
public static class Y {
}
}