ほぷしぃ

Java言語入門 〜C言語を学んだ君へ〜

[第8回]練習問題 第3問解答

第3問解答

出力結果

第3問解説

オブジェクトの配列についての理解度を確認する問題です。
よくあるエラーの1つなので、しっかり覚えてください。

エラーの起きた理由と場所

まず、問題のプログラムで、Printクラスの配列を作成しました。
しかし、この時点ではPrintクラスのオブジェクトは生成されておらず、Printクラスを格納するための「メモリ領域」を確保しただけです。
つまり、配列の中身は「null」です。
そのため、問題のプログラムの15行目で、nullを参照したために、エラーが起きます。

エラーの対処

このエラーを回避するには、配列の宣言後、次のように記述します。

Print ps[] = new Print[3];
ps[0] = new Print();
ps[1] = new Print();
ps[2] = new Print();

これで、配列の各要素の参照先がPrintオブジェクトになり、エラーがなくなります。



第3問-問題へ ページのトップへ 第9回へ