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