質問: " + i); // setPotion(i, null, null, -1); // } } Exception in thread "main" java.lang.NullPointerException at Character.(Character.java:22) at Hero.(Hero.java:11) at Main.main(Main.java:17) Character.javaで定義したPotionクラスの配列にアクセスしたいのですが、インスタンス化したはずなのにNullPointerExceptionで弾かれてしまいます。 ネットや参考書を読み直したのですが分からなくて困っています。
回答: > インスタンス化したはずなのにNullPointerExceptionで弾かれてしまいます。 インスタンス化できてないよ。 > private Potion[] potion = new Potion[5]; ここはあくまでPotionクラス5個分の空配列を作ったに過ぎない。 個々の要素は何も参照していない状態だから当然NullPointerExceptionになる。 各要素にPoitionクラスのインスタンスを参照するようにすればいい。 potion[0] = new Potion();