インスタンス化
- クラスは「型の設計図」のこと。
- クラス(設計図)からインスタンス(実体)を作ることができる。
- インスタンス化: インスタンスを作ること。
- インスタンス化はnew演算子を使う。
- コンストラクタはインスタンス化の時に使われるメソッド(今後解説する)で、その時に使われる引数を記述する。下の例は引数なし。
1行でまとめて書くこともできる。
1 |
Person person2 = new Person(); |
エラーになる例
person3がインスタンス化されていない(注: 厳密には「初期化されていない」)ためコンパイルエラー(コンパイル時にエラーになってコンパイルできない)になる。
1 2 |
Person person3; System.out.println(person3.age); |
コンパイルできる(person4はnullで初期化されている)が、実行時にエラーになる(ランタイムエラー)。person4がインスタンス化されてない(実態がない)のに使おうとしたため。
1 2 |
Person person4 = null; System.out.println(person4.age); |
基本型(プリミティブ型)は?
- インスタンス化が必要なのは参照型(クラス型)
- newは使わない。
- 初期化は必要
次はOK。
1 2 3 |
int a; a = 1; System.out.println(a); |
1行で書くのもOK。
1 2 |
int b = 2; System.out.println(b); |
初期化がないのはNG(コンパイルエラー)。
1 2 |
int c; System.out.println(c); |
基本型でnullは扱えないのでNG(コンパイルエラー)。
1 2 |
int d = null; System.out.println(d); |