学習雑記12 JAVA

NullPointerExceptionという例外

 

メソッドを呼び出すインスタンスの構文に問題が無くても、インスタンスの値がnullの場合に発生する。

nullは、どこにも参照していないことを表すリテラル

 

例)

public class Test {

   public void hello() {

      System.out.println("Hello!!");

   }

}

public class Main {

   public static void main (String args) {

      Sample array = new Sample [5];

      array[0].hello();

   }

}

* コンパイルされますが、実行時にはエラーが発生します。

* Sample型のインスタンスにはデフォルト値nullが入ってい流ために、参照先が無いのにメソッドを呼び出そうとしていることになり、エラーとなる。

* オブジェクト型の配列は、「参照を扱うため」の配列ということを忘れてはならない。 

まとめて覚えておきたい要素のデフォルト値: 

配列の制約 デフォルト値
byte, short, int, long 0
double, float 0.0
boolean false
char ¥u0000
オブジェクト型 null