首頁  >  文章  >  Java  >  很簡單的JAVA反射教學

很簡單的JAVA反射教學

黄舟
黄舟原創
2017-02-07 10:35:491422瀏覽

       反射可動態載入類,實例化對象,呼叫方法。現在以以下例子講解。

一,載入類別。

        Class clazz = Class.forName("java.lang.String"); //此句程式碼得到一個String類別的類別物件。參數填包名。

        若透過URLClassLoader ,可載入本機或遠端的jar包,並且透過loadclass方法得到特定的類別物件。

二,實例化物件。

        如果透過預設建構子來實例化對象,我們可用類別物件以下的方法得到一個對象,如

        clazz..newInstance();下列程式碼達成:

        Constructor> myConstructor = myClass.getConstructor(parameterTypes);//取得一個建構器物件。

        其中parameterTypes 為 Class>... parameterTypes,例如 String.class,int.class等等。接著透過建構器物件得到實例化物件:

        myConstructor.newInstance("xxx",123);建構器內填入特定的建構參數。 


        三,並呼叫方法。

        Method mezod = clazz.getMethod(methodName, parameterTypes);可以得到方法類別的對象,然後我們可以透過mezod的invoke方法執行方法。

        mezod.invoke(obj,"xxx",123);//第一個參數為此方法的發起對象,若填null則表示呼叫的是靜態static方法。

文章轉自CSDN.NET,如有版權問題,請聯絡刪除.

以上就是很簡單的JAVA反射教程的內容,更多相關內容請關注PHP中文網(www.php.cn)!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn