大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Java基礎學習:Java反射機制

Java基礎學習:Java反射機制

更新時間:2020-03-30 16:20:03 來源:動力節點 瀏覽2283次


  一、什么是反射?


  對于程序員來說,應該很少需要直接使用反射工具;之所以在語言中提供它們,是為了支持其他Java特性,比如對象序列化、JavaBeans以及RMI。還有就是在很多框架中,也是應用到了反射機制。


  在初學時,只知道這是個生成驅動實例的語句,而這其實就是應用了反射


Java基礎學習:Java反射機制


  二、反射能做什么?


  主要的四個功能:


  -獲取對象所屬的類


  -獲取類的成員變量、方法


  -運行時創建對象


  -運行時調用對象的方法


  其它功能


  可用構建器創建新對象,通過Constructor類取得其它類的構造函數


  用get()和set()方法讀取和修改與Field對象關聯的字段


  用invoke()方法調用與Method對象關聯的方法,即調用其他類的方法


  此外,我們可調用方法getFields(),getMethods(),getConstructors(),分別返回用于表示字段、方法以及構建器的對象數組,取得并修改數組的信息


  取得其他類的父類、實現的接口、權限修飾符、屬性類型等


  三、反射的優缺點


  優點:可以實現運行時動態創建對象,增加程序的靈活性。這種靈活性怎么體現的呢?比如我們在開發一個大型的軟件,編譯發布后,我們很可能需要更新一些功能,但因為軟件已發布,我們肯定不能要求用戶把以前的卸載,再重新安裝新的版本。如果我們采用靜態的解決方法的話,需要重新編譯整個程序,而如果采用反射機制的話,就可以不用卸載,只需要在運行時才動態的創建和編譯,就可以實現更新的功能。


  缺點:


  性能影響。使用反射基本上是一種解釋操作,我們可以告訴JVM,我們希望做什么并且它滿足我們的要求。這類操作總是慢于只直接執行相同的操作。


  破壞封裝,因為通過反射可以訪問私有變量或方法,這樣可能會存在安全性的問題。比如我們知道String是不可變的,因為這個類被final修飾說明不可繼承,并且String其實就是被final修飾的一個字符數組value,value是private的,但是通過反射是可以訪問到private成員變量,因此通過反射,我們其實是可以改變String的,很明顯,這樣是不安全的。


Java基礎學習:Java反射機制


  以上就是動力節點java培訓機構的小編針對“Java基礎學習:Java反射機制”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 免费人成激情视频在线看 | 亚洲欧美色综合一区二区在线 | 国产亚洲片 | 日韩欧美a级高清毛片 | 久热re在线视频精品免费 | 老子影院午夜伦手机在线看 | 欧美日韩一级片在线观看 | 亚洲全黄 | 一区二区三区在线 | 欧 | 久久天天躁狠狠躁夜夜躁 | 青草久草视频 | 九九香蕉网 | 国内精品久久久久久 | 奇米第四色影视 | 国产在线精彩视频二区 | 日本高清不卡一区久久精品 | 高清欧美一区二区免费影视 | 亚州色吧 | 欧美成人丝袜视频在线观看 | 久久免费精品视频 | 精品国产免费一区二区三区五区 | 伊人久久丁香色婷婷啪啪 | 国产女主播在线视频 | 青青草久草视频 | 久久精品亚洲乱码伦伦中文 | 色一情| 九九黄色大片 | 日日碰日日操 | 国产图片综合区 | 国内精品一区视频在线播放 | 亚洲精品欧美精品一区二区 | 欧美性一区二区三区五区 | 99干99| 久久影院一区二区三区 | 玖玖玖精品视频免费播放 | 国产精品久久久一区二区三区 | 天天操天天干视频 | 九七影院97影院理论片 | 富二代啪啪精品网站 | 免费精品久久久久久中文字幕 | 亚洲高清视频网站 |