无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Java反射是什么?

2023-08-25 13:52 作者:BYYYSJX  | 我要投稿

JAVA反射機(jī)制是在運(yùn)行狀態(tài)中,對于任意一個類,都能夠知道這個類的所有屬性和方法;對于任意一個對象,都能夠調(diào)用它的任意一個方法;這種動態(tài)獲取的信息以及動態(tài)調(diào)用對象的方法的功能稱為java語言的反射機(jī)制。


Java反射機(jī)制主要提供了以下功能: 在運(yùn)行時判斷任意一個對象所屬的類;在運(yùn)行時構(gòu)造任意一個類的對象;在運(yùn)行時判斷任意一個類所具有的成員變量和方法;在運(yùn)行時調(diào)用任意一個對象的方法;生成動態(tài)代理。


輔助理解反射:

靜態(tài)編譯:在編譯時確定類型,綁定對象。

動態(tài)編譯:運(yùn)行時確定類型,綁定對象。動態(tài)編譯最大限度發(fā)揮了java的靈活性,體現(xiàn)了多態(tài)的應(yīng)用,有以降低類之間的藕合性。

我們可以明確的看出動態(tài)編譯的好處,而反射就是運(yùn)用了動態(tài)編譯創(chuàng)建對象。


例一:

開發(fā)中,我們需要把一個包中的class new出來,但是這個包中的類總是需要變動,那么怎么辦,難道總是修改main方法中xxx=new xxx()嗎。這樣無疑是麻煩的。而運(yùn)用反射。我們可以相應(yīng)的增加一個配置文件,在里面記錄包中所有的類名,包中類增加時就加一個類名,刪除時就刪除一個類名。讓main方法去讀取這個配置文件中的類名,通過反射獲得實(shí)例,完全不用我們?nèi)バ薷膍ain方法中的代碼。


例二:

大家如果接觸過spring,會發(fā)現(xiàn)當(dāng)你配置各種各樣的bean時,是以配置文件的形式配置的,你需要用到哪些bean就配哪些,spring容器就會根據(jù)你的需求去動態(tài)加載。不改變程序源碼,而往往改變原有正確代碼是一種十分危險的行為。


WRITE-BUG研發(fā)團(tuán)隊衷心希望【W(wǎng)RITE-BUG數(shù)字空間】可以給每位同學(xué)一個屬于自己的秘密空間,同時祝愿大家在“公開圈子”世界里,遇見志同道合的伙伴們,因?yàn)槲覀兣c大家一樣,都曾孤獨(dú)前行著。



Java反射是什么?的評論 (共 條)

分享到微博請遵守國家法律
临沂市| 临城县| 永城市| 林周县| 黔江区| 白银市| 安平县| 永康市| 淳安县| 土默特左旗| 永吉县| 兰州市| 建湖县| 如东县| 右玉县| 普宁市| 宁乡县| 汕尾市| 正蓝旗| 乌兰县| 兴义市| 土默特右旗| 七台河市| 辽中县| 巴林左旗| 商城县| 安福县| 右玉县| 高台县| 鄂州市| 安溪县| 白银市| 柳林县| 延庆县| 霞浦县| 平塘县| 新昌县| 延安市| 漠河县| 玛沁县| 苍南县|