「Java8」リフレクション(reflection)でgetClassを使ってクラスの情報を取得する

2022年1月12日

環境
Windows 10 64bit
Eclipse 2019
Java8

書式
クラス名 インスタンスの変数 = new クラス名();
Class<?> 変数 = インスタンスの変数.getClass();
インスタンスの変数とgetClassメソッドで、クラス情報のインスタンス(Classクラス)を取得します。
getSimpleName():クラス名を表示します
getPackage():パッケージ名を表示します
getName():、パッケージ名+クラス名(FQCN)を表示します

使用例

package com.arkgame.testinfo;

public class TestUser {

      public static void main(String[] args) {

            //クラスをインスタンス化します
            User uu = new User();
            
            //Classクラスのインスタンスを取得
            Class<?> cft =uu.getClass();
            
            System.out.println("クラス名: " + cft.getSimpleName());
            System.out.println("パッケージ名: " + cft.getPackage());
            System.out.println("パッケージ名 クラス名(FQCN): " + cft.getName());

      }

}
//クラスUserの定義
class User {
      private int age = 12;
      private String username = "yamada";
}

実行結果
クラス名: User
パッケージ名: package com.arkgame.testinfo
パッケージ名 クラス名(FQCN): com.arkgame.testinfo.User

Java

Posted by arkgame