17.2Class類對象實例化

java.lang.Class類是反射機制操作的起源,爲了適應不同情況下的反射機制的操作,java提供有三種Class類對象實例化方式。
方式一:利用Object類中提供getClass()方法獲取實例化對象

import java.util.Date;

public class JavaReflectDemo437A {

	public static void main(String[] args) {
		//【操作特點】需要獲取一個類的實例化對象纔可以獲取Class類實例
		Date date=new Date();
		Class<?> clazz=date.getClass();   //獲取Class類實例化對象
		System.out.println(clazz);
	}
}

執行結果

class java.util.Date

方式二:使用“類.class”形式獲取指定類或接口的Class實例化對象

public class JavaReflectDemo437B {
   public static void main(String[] args) {
	//【操作特點】直接通過一個類的完整名稱可以獲取Class類的實例,需要編寫import或完整類名稱
	   Class<?> clazz=Member.class;
	   		System.out.println(clazz);
}
}
class Member{}

執行結果

class com.lxh.seventeenchapter.Member

方式三:使用Class類內部提供的forName()方法根據類的完整名稱獲取實例化對象
Class實例化方法:public static Class<?> forName​(String className) throws ClassNotFoundException;

public class JavaReflectDemo437C {
   public static void main(String[] args) throws ClassNotFoundException {
	//【操作特點】通過名稱字符串(包,類)可以獲取Class類實例,可以不使用import導入
	   Class<?> clazz=Class.forName("com.lxh.seventeenchapter.Member");
	   System.out.println(clazz);
}
}

執行結果

class com.lxh.seventeenchapter.Member
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章