「Java」Class.forNameでクラスの情報を取得する
環境
JDK1.8
Eclipse2019
書式
Class<?> 変数 = Class.forName(クラス);
Class.forNameと引数にクラスを指定して、クラス情報のインスタンスを取得します。
使用例
package com.arkgame.study.java;
public class Cft {
public static void main(String[] args) {
try {
//クラスUsersの情報を持つClassクラスのインスタンスを取得
Class<?> ca = Class.forName("com.arkgame.study.java.Users");
System.out.println("クラス名: " + ca.getSimpleName());
System.out.println("パッケージ名: " + ca.getPackage());
System.out.println("FQCN(完全クラス名): " + ca.getName());
} catch (
ClassNotFoundException e) {
e.printStackTrace();
}
}
}
//クラスUsers
class Users {
int age;
String username;
}
package com.arkgame.study.java;
public class Cft {
public static void main(String[] args) {
try {
//クラスUsersの情報を持つClassクラスのインスタンスを取得
Class<?> ca = Class.forName("com.arkgame.study.java.Users");
System.out.println("クラス名: " + ca.getSimpleName());
System.out.println("パッケージ名: " + ca.getPackage());
System.out.println("FQCN(完全クラス名): " + ca.getName());
} catch (
ClassNotFoundException e) {
e.printStackTrace();
}
}
}
//クラスUsers
class Users {
int age;
String username;
}
package com.arkgame.study.java; public class Cft { public static void main(String[] args) { try { //クラスUsersの情報を持つClassクラスのインスタンスを取得 Class<?> ca = Class.forName("com.arkgame.study.java.Users"); System.out.println("クラス名: " + ca.getSimpleName()); System.out.println("パッケージ名: " + ca.getPackage()); System.out.println("FQCN(完全クラス名): " + ca.getName()); } catch ( ClassNotFoundException e) { e.printStackTrace(); } } } //クラスUsers class Users { int age; String username; }
実行結果
クラス名: Users
パッケージ名: package com.arkgame.study.java
FQCN(完全クラス名): com.arkgame.study.java.Users