package get_class_method;
public class ReflectDemo {
/**
* @param args
*/
public static void main(String[] args) {
getClassObject1();
getClassObject2();
getClassObject3();
}
public static void getClassObject1(){
Person p = new Person();
System.out.println(p.getClass().getName());
/*
* 方式二:重點掌握
* 通過給定類的字元串名稱就可獲得該類的位元組碼檔案對象,更為擴充。
* (第一種和第三種都不具有擴充性)
*/
public static void getClassObject2(){
Class<Person> pclass = null;
try {
/*
* 類的名字一定要寫全(包括該類的包)
* 因為工程預設的路徑查找時在bin目錄或者src目錄,如果類名不全,就無法找到該類
*/
pclass = (Class<Person>) Class.forName("get_class_method.Person");
System.out.println(pclass.getName());
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
* 方式三:
* 任何資料類型都有一個靜态的屬性 .class來擷取其對應類的位元組碼檔案對象
* 相對簡單,但是還是要明确用到類中的靜态成員。還是不夠擴充!
public static void getClassObject3(){
Class pclass = Person.class;
System.out.println(pclass.getName());
}
本文轉自 小眼兒 部落格園部落格,原文連結:http://www.cnblogs.com/hujunzheng/p/4055174.html,如需轉載請自行聯系原作者