通過テストの解答 <新わかりやすいJava 入門編>

 

 ただし、Cardクラスを見ると、toStringメソッドが定義してあるので、出力部分は次のように書いてもよい

 

E. 実行時例外

dice1 = dice2; の代入は、dice2にnullが入っているので(つまり初期化されているので)、コンパイルエラーにはならない。この代入によりdice1もnullとなる。この時、dice1.getVal()を実行すると、dice1は、どのオブジェクトにもリンクしていないので、detVal()というメンバが見つからず、実行時に停止してしまう(NullPointerExceptionという例外が発生する)。