国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java學習——java中的反射學習筆記

2019-11-06 07:38:24
字體:
來源:轉載
供稿:網友

java——reflect

一.Class類的使用 什么是Class類? 1:在面向對象的世界中,萬事萬物皆對象。

java語言中,靜態的成員,普通數據類型類是不是對象呢?

是,對象!是類的對象!

類是誰的對象嗎?

類也是是對象,類是java.lang.Class 類的實例對象!

現在有個類它的名字就是Class! There is a class name Class.

任何一個類都是Class的實例對象,這種實例對象有三種表示方式

class Foo{}Foo f = new Foo();//第一種 Class c1 = 類名.class; //Class c1 = Foo.class;//第二種 Class c2 = 對象.getClass(); //Class c2 = f.getClass();//c1和c2 表示了Foo類的類 類型(class type) //第三種 使用class.forName();Class c3 = class.forName("XXX.XX.Foo");

2.動態加載和靜態加載

編譯時刻加載類是靜態加載,運行時刻加載類是動態加載類 。

new 創建對象是靜態加載類,在編譯時刻就需要加載所有可能使用到的類。 如何解決在編譯時候忽略那些不需要加載的類呢?

解決方案:通過動態加載類!使用Class.forName(“”);

二.方法的反射

基本的數據類型。void的關鍵字都存在類 類型!

1.區別

getName : 基本和引用類型! getSimpleName : 引用類型不包括包名,只有類的名稱。
getMethods(): 方法獲取的是所有public的函數,包括父類繼承而來的 getDeclaredMethods(): 獲取的是所有該類自己聲明的方法,不問訪問權限

三.成員變量的反射

成員變量是 java.lang.reflect.Field 的類對象!

Field 類封裝了關于成員變量的操作!

getField():獲取的是所有的public的成員變量的信息 getDeclaredFields():獲取的是該類自己的成員變量的信息

四.構造函數的反射

構造函數也是對象,是java.lang.Constructor中封裝了構造函數的信息。

getConStructors 獲取所又的public的構造函數 getDeclaredConstructors 得到的是自己申明的所有的構造函數

5.java的類加載機制

反射都是運行時刻執行的!也就是動態加載!

集合中泛型的使用?

集合中的泛型是防止錯誤輸入的,只有編譯階段有效, 繞過編譯就無效了!也就是說泛型只在編譯的時候有用,所以我們可以通過方法的反射來操作,繞過編譯!


使用傳送技能,讓你快速學習反射知識!

慕課學習反射視頻地址: http://www.imooc.com/video/3738


歡迎訪問我的csdn博客,我們一同成長!

不管做什么,只要堅持下去就會看到不一樣!在路上,不卑不亢!

博客首頁:http://blog.csdn.net/u010648555


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永顺县| 宜兰县| 渝中区| 合水县| 长白| 名山县| 霍山县| 呼和浩特市| 乃东县| 秭归县| 平罗县| 巴南区| 宣汉县| 凤台县| 临潭县| 民县| 盘山县| 丹寨县| 晋江市| 儋州市| 龙江县| 乐陵市| 靖州| 昌黎县| 商丘市| 濮阳县| 佛坪县| 会泽县| 冕宁县| 禹州市| 同江市| 大足县| 田林县| 邵阳县| 临澧县| 屯门区| 徐汇区| 怀仁县| 黑龙江省| 红原县| 泸州市|