マンガで分かる Java入門講座

第10章 クラスとオブジェクト3
10-4. Classクラス

クラスについての情報を扱える「Class」クラスを紹介します。

● Classクラス

 Javaには「java.lang.Class」というクラスがあります。このクラスは、クラスの情報にアクセスしたり、操作したりするためのクラスです。


● getClassメソッド

 java.lang.Objectには「getClass」というメソッドがあります。Objectは全てのクラスの祖先に当たるクラスです。そのため、全てのクラスにはgetClassメソッドが存在します。

 「オブジェクト.getClass()」とすることで、Classクラスのオブジェクトを得られます。そして、このオブジェクトを通して、クラスの情報や、クラスの操作を行うことができます。

ソースコード)getClassメソッド
Object obj = new Object();

System.out.println(obj.getClass().getName());
// 「java.lang.Object」と出力

System.out.println(obj.getClass().getSimpleName());
// 「Object」と出力

System.out.println(obj.getClass().getPackage().getName());
// 「java.lang」と出力

● classフィールド

 また、java.lang.Objectには「class」というpublic static finalのフィールドがあります。

 「クラス.class」とすることで、Classクラスのオブジェクトを得られます。そして、このオブジェクトを通して、クラスの情報や、クラスの操作を行うことができます。

ソースコード)classフィールド
System.out.println(Object.class.getName());
// 「java.lang.Object」と出力

System.out.println(Object.class.getSimpleName());
// 「Object」と出力

System.out.println(Object.class.getPackage().getName());
// 「java.lang」と出力

● リフレクション

 Javaでは、Classクラスの各種命令を使い、フィールドやメソッドの情報を得たり、その操作をしたり、オブジェクトを生成したりすることができます。

 この仕組みのことを「リフレクション」と呼びます。リフレクションは初心者には高度な仕組みですので、ここではClassクラスのURLを貼るだけに留めておきます。


この講座のマンガ部分は「箱人形マンガ(Box Comic) 」で作成しています。
作成:2013/06/05  更新:2016/02/09  [Permalink]