今回はnullの参照について
ん~
えらい久々な気がするwww
しばらくぶり?
なんか1年ぐらいやってない気がするぐらい久々だ・・・・( ´艸`)
javaでは特別な単語が何かの値を表すために使います。
よく使われるものは true&false。
これは bloonean型の 値でした。
では、nullは何型のどんな値でしょうか?
ということで前置きはこの辺にして( ´艸`)
nullについて詳しく学習していきます。
1.nullとは?
nullは、どんなオブジェクトにもリンクしてない参照です。
つまり、
です。
イメージはこんな感じ
nullは参照型の値ではありますが、無効な値です。
2.nullの用途
nullが無効な値と言っても参照型であることは間違いないありません。
ちなみに参照型の変数ならどんな型の変数にでもnullを代入し初期化することが可能です。
上の図はDice型の変数に代入した時のイメージ・・・
nullがセットされているのでコンパイラはdiceには参照型の変数が入っているとみなします。
ただ、次のようなコードを書いてもコンパイルエラーにならないので注意!!!
Dice dice = null();
dice.play();
これは、コンパイルエラーにはなりませんが、実行すると実行例外というものが起こります。
このエラー・・・Javaではよく目にするエラーです。
そのエラーを実際に見ていきます。
package exercise;
import sample.Dice;
public class Sample_sample {
public static void main(String[] args) {
Dice dice=null;
dice.play();
// ここにコードを挿入
}
}
で、Ecripsで起動してみるとこのようなエラーメッセージが出ます
Exception in thread "main" java.lang.NullPointerException: Cannot invoke "exercise.Dice.play()" because "dice" is null
at exercise.Sample_sample.main(Sample_sample.java)
簡単に言うと
というものです。
あと、宣言しただけでは何も入ってない空箱の状態ですので・・・
初期化されていない変数を使って何かしようとするとコンパイルエラーになるので注意しましょうwww
ここまでご覧いただきありがとうございました。
BY マんタ
参考書は__________________________________
川場 隆 Kawaba Takashi
秀和システム