-インスタンス-データ型には、大きく分けて基本データ型と参照型の2つがあります。参照型変数を利用して、オブジェクトや配列などの操作を行います。インスタンス化インスタンス化とは、実世界のオブジェクトを抽象化してあらかじめ作成しておいたクラスなどから生成する作業のことです。インスタンスの生成インスタンスを生成するには、new演算子を利用します。インスタンスを生成するだけであれば、参照型変数を宣言する必要はありません。同時に参照型変数を宣言すると、その変数を通して常時そのインスタンスを利用することができます。new演算子は、単項演算子の1つです。生成し、そのインスタンスがメモリ上のどこにあるのかを示すアドレス情報を内部的に出力します。new演算子によって生成されたインスタンスを利用するためには参照型変数と代入演算子(=)を利用して参照型変数にインスタンスのアドレス情報を代入しておく必要があります。生成したインスタンスの利用new演算子により生成したインスタンスは、直接、メンバ変数やメソッドを利用することができます。コンストラクタ(引数).メソッド名(引数)メンバ変数にはインスタンス変数とstatic変数がありますが、どちらも上記の書式によって利用可能です。参照型変数は、基本データ型の変数とは異なり、値を直接格納するのではなくインスタンスなどのアドレス情報を格納します。参照型変数の宣言は、new演算子などによるインスタンスの生成とは別に行うことができます。参照型変数名;データ型にはクラス名、配列名、インタフェース名、列挙型名のいずれかを指定します。参照型変数をメンバ変数として宣言すると自動的に初期化され、デフォルト値であるnullが代入されます。参照型変数をローカル変数として宣言した場合は自動的には初期化されないので、その変数を利用する前になんらかの値を代入しなければなりません。参照型変数を明示的に初期化するには、多くの場合new演算子を利用するか、nullを代入します。その他の方法としては、メソッドの戻り値による初期化や、既存の参照型変数による初期化があります。new演算子を利用new演算子は、実行結果として新しく生成したインスタンスのアドレス情報を出力するので、その情報を参照型変数に代入することができます。Person();nullを代入nullは何も参照していないことを表す定数です。この値を代入することによって初期化を行うことができます。null;既存の参照型変数を利用すでに初期化されている別の参照型変数を使って、新しい参照型変数を初期化することもできます。この場合は、新しいインスタンスは生成されません。既存の変数と初期化した変数に同じアドレス情報が格納され、同じインスタンスを参照することになります。p1;ただし、この場合は、代入時に右辺に記述する参照型変数(p1)は、左辺の参照型変数(p2)と同じ型であるか、そのサブクラスか、または左辺の参照型変数の型と同じ型にキャストされていなければなりません。参照型変数の初期化後であっても、任意の時点で、格納しているアドレス情報を別の値に変更することができます。その場合は、代入演算子(=)を利用します。値の変更後は、その参照型変数は別のインスタンスを参照するようになります。