Java之反射學習【獲取字節碼Class對象】

獲得類對象的三中方法:

  1. Class.forName("全類名") 方式; 【全類名:包名+類名】
  2. 類名.class  方式;
  3. 對象.getClass()  方式;

參考代碼:

public class Test {
    public static void main(String[] args) throws Exception {
        
        Class class1 = Class.forName("demo1.Person");
        System.out.println(class1);

        Class class2 = Person.class;
        System.out.println(class2);

        Person person = new Person();
        Class class3 = person.getClass();
        System.out.println(class3);

        System.out.println(class1==class2);
        System.out.println(class1==class3);
        System.out.println(class2==class3);

    }
}

執行結果:

這三種方式都適用情況:

  • Class.forName("全類名") 方式:

       多用於配置文件,將類名定義在配置文件中。讀取文件,加載類;【spring的配置文件中有所應用】

  • 類名.class  方式:

       多用於類對象作爲參數,進行參數傳遞

  • 對象.getClass()  方式:

 

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