|
Reflection機(jī)制也是通過(guò)Class類對(duì)象來(lái)實(shí)現(xiàn)的. 個(gè)人感覺(jué)他只不過(guò)是通過(guò)Class類對(duì)象暴露了一組共用的借口.我們可以查詢并調(diào)用之,而并不用知道某個(gè)特定類的全部信息.事實(shí)上他并沒(méi)有什么特別的神奇之處,總感覺(jué)有點(diǎn)似曾相識(shí),有點(diǎn)像COM中提供的IUNKNOWN接口,或者IDL語(yǔ)言的作用? 采用傳統(tǒng)RTTI:編譯器在編譯器即開(kāi)啟并檢查.class文件,但如果采用Reflection機(jī)制,編譯器并不會(huì)取用.class文件.它會(huì)由執(zhí)行期環(huán)境加以開(kāi)啟和檢查.由此我們可以看出reflection的使用場(chǎng)合:JavaBeans,RMI,object serialization.或者無(wú)法得知某.class文件提供的接口時(shí).基本上我們編成的過(guò)程中不會(huì)直接用到Reflection. 查一下java.lang.reflection包,發(fā)現(xiàn)包含以下內(nèi)容: |
|
|