マンガで分かる 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]

クロクロ・ショップ
特殊な技術書多数あります
レトロ風RPG フルスクラッチ開発 全コード
レトロゲーム風RPGの全コードを掲載して解説した本
HTML5とJavaScriptで作る 落ち物パズルゲーム 全コード
『テトリス』や『ぷよぷよ』に類似した落ち物パズルゲームの全コードを掲載して解説した本
JavaScriptでリバーシゲームをつくろう
ライブラリを使わずに全コードを書いて、リバーシゲームを作るまでを徹底解説
ワールドマップ自動生成読本
二次元ゲームのワールドマップを自動生成するための本
レトロゲームファクトリー
過去のゲームを最新機に移植する会社のお仕事小説(新潮社)
顔貌売人 ハッカー探偵 鹿敷堂桂馬
プログラマーが探偵役のエンタメ・ミステリー第2弾 最先端の情報犯罪に安藤と鹿敷堂が挑みます(文藝春秋)
裏切りのプログラム ハッカー探偵 鹿敷堂桂馬
プログラマー鹿敷堂桂馬が、女性社長の安藤裕美と共に、IT業界で起きた事件に挑む。2016年の松本清張賞の最終候補作(文藝春秋)
×