概念:反射機(jī)制就是指程序在運(yùn)行中,,能夠獲取類的所有方法和屬性或者能夠調(diào)用對(duì)象的任意一個(gè)方法和屬性,;這種能夠動(dòng)態(tài)的獲取信息和動(dòng)態(tài)調(diào)用對(duì)象的方法的功能稱為JAVA的反射機(jī)制。 反射機(jī)制的優(yōu)點(diǎn):反射機(jī)制的優(yōu)點(diǎn)就是可以實(shí)現(xiàn)動(dòng)態(tài)創(chuàng)建對(duì)象和編譯,,體現(xiàn)出很大的靈活性,,特別是在J2EE的開(kāi)發(fā)中 它的靈活性就表現(xiàn)的十分明顯。 反射機(jī)制的缺點(diǎn):對(duì)性能有影響,,使用反射基本上是一種解釋操作,,我們可以告訴JVM,我們希望做什么并且它 滿足我們的要求,。這類操作總是慢于只直接執(zhí)行相同的操作,。 利用反射機(jī)制能夠獲取的信息: 首先得根據(jù)傳入的類的全名來(lái)創(chuàng)建Class對(duì)象。 Constructor[] getConstructors()//獲得public的所有構(gòu)造器 Constructor getDeclaredConstructor(Class[] params)//根據(jù)指定參數(shù)獲得public和非public的構(gòu)造器 Constructor[] getDeclaredConstructors()//獲得public的所有構(gòu)造器 Method[] getMethods()//獲得所有的public方法 Method getDeclaredMethod(String name, Class[] params)//根據(jù)方法名和參數(shù)類型,,獲得public和非public的方法 Method[] getDeclaredMethods()//獲得所以的public和非public方法 Field[] getFields()//獲得類中所以public的方法 Field getDeclaredField(String name)//根據(jù)方法名獲得public和非public變量 Field[] getDeclaredFields()//獲得類中所有的public和非public方法 |
|
來(lái)自: 昵稱22369024 > 《IT技術(shù)》