クラスは、java.lang パッケージ内のクラスです。このクラスのインスタンスは、プログラムが他のクラスのインスタンスを作成したり、他のクラスのオブジェクトに関する内部情報を取得したりするのに役立ちます。
オブジェクトを作成する最も一般的な方法は、クラスの new 演算子とコンストラクターを使用することです。実際、Class オブジェクトを使用して特定のクラスのインスタンスを取得することもできます。手順は次のとおりです。
(1) Class のクラス メソッドを使用して、特定のクラス (パラメーター className で指定されたクラス) に関連する Class オブジェクトを取得します。
publicstaticClassforName(StringclassName)throwsClassNotFoundException
上記のメソッドは、パラメータ className で指定されたクラスに関連する Class オブジェクトを返します。クラスがパッケージ内にある場合は、className にパッケージ名が含まれている必要があります (例: className=java.util.Date)。
(2) (1)で取得した Class オブジェクトから public Object newInstance() を呼び出し、InstantiationException、IllegalAccessException メソッドをスローし、className クラスのオブジェクトを取得します。
注: Class オブジェクトを使用して newInstance() を呼び出し、className クラスのオブジェクトをインスタンス化する場合、className クラスにはパラメーターなしのコンストラクターが必要です。
クラスがロードされ、オブジェクトが作成されると、そのクラスに関連する Class 型のオブジェクトが自動的に作成されます。 getClass() メソッドを呼び出すオブジェクトは、そのオブジェクトに関連するClass オブジェクトを次のように取得できます。このメソッドは、オブジェクトを作成したクラスの名前、クラス内のメソッドの名前、メンバー変数の名前など、オブジェクトに関する関連情報を取得できます。
Class オブジェクトによって頻繁に呼び出されるメソッドは次のとおりです。
クラスの名前を返します。
クラスのすべてのコンストラクターを返します。
クラスのすべてのメンバー変数を返します。
クラスのすべてのメソッドを返します。