這篇文章將為大家詳細(xì)講解有關(guān)java反射的作用有哪些,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
成都創(chuàng)新互聯(lián)是一家專業(yè)提供五峰企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站制作、成都網(wǎng)站建設(shè)、H5建站、小程序制作等業(yè)務(wù)。10年已為五峰眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。
什么是Java的反射?
反射是Java的特征之一,是一種間接操作目標(biāo)對(duì)象的機(jī)制。
JAVA反射機(jī)制是在運(yùn)行狀態(tài)中,對(duì)于任意一個(gè)實(shí)體類,都能夠知道這個(gè)類的所有屬性和方法;對(duì)于任意一個(gè)對(duì)象,都能夠調(diào)用它的任意方法和屬性;這種動(dòng)態(tài)獲取信息以及動(dòng)態(tài)調(diào)用對(duì)象方法的功能稱為java語言的反射機(jī)制。
Java反射有什么作用?
通過反射可以使程序代碼訪問裝載到JVM 中的類的內(nèi)部信息
獲取已裝載類的成員變量信息
獲取已裝載類的方法
獲取已裝載類的構(gòu)造方法信息
反射的應(yīng)用場(chǎng)合:
在編譯時(shí)根本無法知道該對(duì)象或類可能屬于哪些類,程序只依靠運(yùn)行時(shí)信息來發(fā)現(xiàn)該對(duì)象和類的真實(shí)信息。
反射的缺點(diǎn)
性能問題
使用反射基本上是一種解釋操作,用于字段和方法接入時(shí)要遠(yuǎn)慢于直接代碼。因此Java反射機(jī)制主要應(yīng)用在對(duì)靈活性和擴(kuò)展性要求很高的系統(tǒng)框架上,普通程序不建議使用。
使用反射會(huì)模糊程序內(nèi)部邏輯
程序人員希望在源代碼中看到程序的邏輯,反射等繞過了源代碼的技術(shù),因而會(huì)帶來維護(hù)問題。反射代碼比相應(yīng)的直接代碼更復(fù)雜。
關(guān)于java反射的作用有哪些就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。