91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java反射機制的精髓講解

發布時間:2020-10-01 23:01:57 來源:腳本之家 閱讀:311 作者:李燦輝 欄目:編程語言

1,什么是反射?

java的反射,允許程序在運行時,創建一個對象,獲取一個類的所有相關信息等。

2,Class類

要了解反射,就繞不開Class類。

我們平時開發的類,例如ClassA,一般會有一些屬性,會有幾個構造方法,也會有一些普通方法,我們還可以使用ClassA來創建對象,例如ClassA classA = new ClassA()

java程序在運行時,其實是很多類的很多個對象之間的協作。jvm如何管理這些類呢?它如何知道各個類的名稱,每個類都有哪些屬性和哪些方法呢?

jvm會給每個類,創建一個Class類型的對象,來記錄各個類的信息,包括類的名稱,類有哪些屬性,各個屬性的類型,類有哪些方法,各個方法的名稱參數列表返回值等。我們可以說ClassA是所有ClassA類型的對象的類,同理,我們也可以說,Class是所有Class類型對象的類,而Class類型的對象,也就是其他的所有的類。

3,可以獲取類的哪些信息呢?

可以獲取類的名稱,類的構造函數,類的屬性,類的普通方法等。

4,如何使用獲取到的類的信息呢?

首先看一下如何使用獲取到的類的方法。

jvm提供了Method類,來表示類的方法,我們獲取到的一個類的方法,其實就是Method的對象。

Class獲取方法的方式為,調用getMethod()方法,第一個參數為方法名稱,后面是待獲取的方法的參數的類型列表。

而調用獲取到的方法時,也比較特殊,是調用Methodinvoke方法,第一個參數為調用哪個對象的該方法,后面是需要給該方法傳遞的參數列表。

Object obj = MyClass.class.newInstance();
Method method = MyClass.class.getMethod("methodName", String.class, String.class);
method.invoke(obj, "a", "b");

jvm提供了Constructor來表示類的構造方法,提供了Field來表示類的屬性,其使用方法與Method的類似。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對億速云的支持。如果你想了解更多相關內容請查看下面相關鏈接

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

蓬莱市| 安乡县| 阿拉善左旗| 伊川县| 常州市| 北海市| 海林市| 长寿区| 通化市| 肇庆市| 曲阳县| 梁山县| 聂荣县| 万全县| 滨海县| 泌阳县| 新化县| 嵩明县| 鄂托克旗| 平顶山市| 名山县| 从江县| 富平县| 旅游| 班戈县| 英德市| 雷波县| 安乡县| 信阳市| 海兴县| 潼关县| 佛冈县| 土默特左旗| 张掖市| 荔浦县| 房产| 万盛区| 金秀| 辰溪县| 江川县| 江城|