java反射方式建立例項

tony0087發表於2021-09-11

java反射方式建立例項

在談到例項的時候,很多人對這個概念還不能說出所以然。其實例項就是一個具體的物件,像我們之前學習的類、陣列都可以建立例項。反射相對而言也是比較抽象的概念,所以我們是能夠把它例項化的。下面簡單對例項進行了解,然後分別帶來無參和有參的反射例項例項化方法。

1.例項說明

new 一個物件是例項,可以把這個new出來的物件叫做例項,說白了就是這個new出來的“東西”,叫它物件也可以,叫它例項也可以,物件和例項在這個角度上來講是等價的。

2.建立空參的例項 使用Class物件的newInstance()方法來建立Class物件對應類的例項。

//原始:new的時候,先根據被new的類的名稱找尋該類的位元組碼檔案,並載入進記憶體,

//並建立該位元組碼檔案物件,並接著建立該位元組檔案對應的Person物件。

Person p = new Person();
 
//反射:找尋該類的名稱,並載入進記憶體,併產生Class物件
//在產生類的物件
Strint className = "com.example.hgx.Person";
Class clazz = Class.forName(className);
Object obj = clazz.newInstance();

3.建立帶引數的例項。 這時要透過Class物件獲取指定的Constructor物件,再呼叫Constructor物件的newInstance()方法來建立例項。

    class Person {
        public String name;
        private int age;
 
        public Person(String name, int age) {
            this.name = name;
            this.age = age;
        }
 
    }
 
//獲取Person類帶一個(String,int)引數的構造器
Strint className = "com.example.hgx.Person";
Class clazz = Class.forName(className);
Constructor constructor = clazz.getConstructor(String.class,int.class);

以上就是java反射方式建立例項的方法,大家在弄清楚例項的概念後,就可以著手反射中例項的建立了,同時要區別是否含有引數。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1747/viewspace-2831002/,如需轉載,請註明出處,否則將追究法律責任。

相關文章