如何理解java中的反射?
網(wǎng)友解答: 反射就是在運(yùn)行期獲取類(lèi)型信息,Java反射更進(jìn)一步,還允許修改一些信息。至于如何實(shí)現(xiàn)的,是在編譯期間將相關(guān)信息(類(lèi)型元數(shù)據(jù))放在class文件中,在運(yùn)行時(shí)候可以將這些信息封裝
反射就是在運(yùn)行期獲取類(lèi)型信息,Java反射更進(jìn)一步,還允許修改一些信息。至于如何實(shí)現(xiàn)的,是在編譯期間將相關(guān)信息(類(lèi)型元數(shù)據(jù))放在class文件中,在運(yùn)行時(shí)候可以將這些信息封裝成特定Java對(duì)象供系統(tǒng)使用。其實(shí)C++和Delphi等語(yǔ)言都可以提供(但程度稍低)RTTI信息供運(yùn)行時(shí)使用,但是以函數(shù)形式提供。
因?yàn)榫幾g器在編譯期知道所有的類(lèi)型細(xì)節(jié)信息,所以,只要需要,任何語(yǔ)言都可以提供反射功能。
網(wǎng)友解答:反射就是為了程序運(yùn)行中的時(shí)候通過(guò)反射獲取類(lèi)的方法和屬性,可以進(jìn)行修改,現(xiàn)在大眾都知道的spring框架里面的IOC就是應(yīng)用了反射創(chuàng)建類(lèi),當(dāng)業(yè)務(wù)需要的時(shí)候可以直接注入,不需要自己去創(chuàng)建