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());
    }
    
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM