\

クラス型

Javaで用意されているクラスや、自分で作成したクラス(Humanクラス等)がクラス型になる。

クラス型変数では、クラスは型としてインスタンスは変数として扱い、変数の宣言とインスタンスの生成を以下の様な形で同時に行っていた。
クラス名 変数名 = new コンストラクタ名(引数);

Human Eiko = new Human();	//Human型のインスタンスEikoを生成

これは次のように分けることもできる。
@クラス名 変数名;	//クラス型変数の宣言
A変数名 = new コンストラクタ名(引数);	//インスタンスの生成

@のクラス型変数の宣言を行うことで、この変数の実体(インスタンス)の参照先を入れるためのメモリ領域が確保される。
(初期値は何も値が設定されていないことを表す「null」)
ただし、コレだけではインスタンスは生成されず、参照先の実体がないので使用しようとするとコンパイルエラーが起こる。

そこで、Aでインスタンスを生成し、変数(インスタンス)の実体を別のメモリ領域に格納する。
こうすると、変数に実体への参照先が代入され変数を使用することが出来るようになる。