サブクラスで定義されたオブジェクトの配列を作成しようとしています (これが正しい用語だと思います)。疑問が繰り返されていることがわかりますが、実装にはまだ問題があります。
私のコード
public class Test {
private class MyClass {
int bar = -1;
}
private static MyClass[] foo;
public static void main(String args[]) {
foo = new MyClass[1];
foo[0].bar = 0;
}
}
エラーを与える
スレッド「メイン」での例外 java.lang.NullPointerException.
それを合理化するために、私はそれを最も簡単な言葉に分解しました:
public class Test {
private static int[] foo;
public static void main(String args[]) {
foo = new int[1];
foo[0] = 0;
}
}
これはうまくいくようです。私の2つの例の違いはわかりません。(私の最初が無意味であることは理解していますが、MyClass には最終的により多くのデータが含まれます。)
質問はここで尋ねられ、非常によく答えられていると確信しています。私は解決策を実装したと思います:
MyClass[] foo = new MyClass[10];
foo[0] = new MyClass();
foo[0].bar = 0;
しかし、上記の2行目でエラーが発生します
タイプ Test の外側のインスタンスにアクセスできません。
ArrayList が前進する方法であることは理解していますが、根本的な概念を理解しようとしています。
注意 - プログラミング全般には非常に慣れていますが、Java はオブジェクト指向プログラミングへの最初のディップであることを知っておくと役立つかもしれません。