このコードが機能しない理由
public class BB
{
private class A
{
private int x;
}
public static void main(String[] args)
{
A a = new A();
a.x = 100;
System.out.println(a.x);
}
}
このコードが動作している間?
public class BB
{
private class A
{
private int x;
}
static int y = 3;
public static void main(String[] args)
{
BB b = new BB();
b.compile();
System.out.println("y = "+ y);
}
public void compile()
{
A a = new A();
a.x = 100;
System.out.println(a.x);
System.out.println("y = "+ y);
}
}
最初のコードでは、内部クラス 'a' のオブジェクトによって内部クラス 'A' のインスタンス変数 'x' を参照しようとすると、静的コンテキストで内部クラスを使用しているというエラーが表示されます。他の方法で同じことをしてもエラーはありません。