天天看點

java中三種方式獲得類的位元組碼檔案對象

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,如需轉載請自行聯系原作者