Java NullPointerException に関する質問があります。
たとえば、A、B、C の 3 つのクラスがあります。
public class A
{
public void methodA1()
{ }
}
//////////////////////////////
public class B
{
private A a;
private C c;
public void methodB1()
{
a = c.methodC1;
}
public void methodB2()
{
a.methodA1();
}
}
/////////////////////////////
public class C
{
public A methodC1()
{
return new A();
}
}
上記のコードを見るとわかるように、主な問題はクラス B にあります。私の質問は、クラス B のフィールド a が methodB1 で初期化されている場合、なぜ methodB2 で a を再度使用できないのですか? コンパイラは、コード a.methodeA1() を使用するための NullPointerException を私に与えています。また、methodB1() の結果、つまり methodB1() の a が必要なため、別の新しい a を再度作成することはできません。助けてください。