亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java反射機制的精髓講解

 更新時間:2019年01月09日 11:29:00   作者:李燦輝  
今天小編就為大家分享一篇關于Java反射機制的講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

1,什么是反射?

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

2,Class類

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

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

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

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

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

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

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

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

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

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

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

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

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

總結(jié)

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

相關文章

  • SpringBoot+Dubbo+Zookeeper實現(xiàn)簡單分布式開發(fā)的應用詳解

    SpringBoot+Dubbo+Zookeeper實現(xiàn)簡單分布式開發(fā)的應用詳解

    這篇文章主要介紹了SpringBoot+Dubbo+Zookeeper實現(xiàn)簡單分布式開發(fā)的應用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • java自定義Scanner類似功能類的實例講解

    java自定義Scanner類似功能類的實例講解

    這篇文章主要介紹了java自定義Scanner類似功能類的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • java數(shù)組中的異常類型整理

    java數(shù)組中的異常類型整理

    在本篇文章里小編給各位分享的是一篇關于java數(shù)組中的異常類型整理內(nèi)容,有興趣的朋友們可以學習下。
    2021-02-02
  • hadoop是什么語言

    hadoop是什么語言

    Hadoop是一個由Apache基金會所開發(fā)的分布式系統(tǒng)基礎架構。 用戶可以在不了解分布式底層細節(jié)的情況下,開發(fā)分布式程序。充分利用集群的威力進行高速運算和存儲
    2017-09-09
  • c語言來實現(xiàn)貪心算法之裝箱問題

    c語言來實現(xiàn)貪心算法之裝箱問題

    這篇文章主要介紹了c語言來實現(xiàn)貪心算法之裝箱問題,需要的朋友可以參考下
    2015-03-03
  • SpringBoot+SpringCloud用戶信息微服務傳遞實現(xiàn)解析

    SpringBoot+SpringCloud用戶信息微服務傳遞實現(xiàn)解析

    這篇文章主要介紹了SpringBoot+SpringCloud實現(xiàn)登錄用戶信息在微服務之間的傳遞,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • java實現(xiàn)簡易的計算器界面

    java實現(xiàn)簡易的計算器界面

    這篇文章主要為大家詳細介紹了java實現(xiàn)簡易的計算器界面,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • JAVA幫助文檔全系列 JDK1.5 JDK1.6 JDK1.7 官方中英完整版整理

    JAVA幫助文檔全系列 JDK1.5 JDK1.6 JDK1.7 官方中英完整版整理

    JDK(Java Development Kit,Java開發(fā)包,Java開發(fā)工具)是一個寫Java的applet和應用程序的程序開發(fā)環(huán)境。它由一個處于操作系統(tǒng)層之上的運行環(huán)境還有開發(fā)者編譯,調(diào)試和運行用Java語言寫的applet和應用程序所需的工具組成
    2014-01-01
  • IDEA配置MAVEN本地倉庫的實現(xiàn)步驟

    IDEA配置MAVEN本地倉庫的實現(xiàn)步驟

    本文主要介紹了IDEA配置MAVEN本地倉庫的實現(xiàn)步驟,將詳細介紹如何配置Maven環(huán)境變量,Maven配置文件,可以輕松地設置和配置MAVEN本地倉庫,以便在IDEA中享受更高效的開發(fā)體驗
    2023-08-08
  • springboot中手動提交事務的實現(xiàn)方法

    springboot中手動提交事務的實現(xiàn)方法

    手動提交事務可以提供更靈活的控制,以便在分布式環(huán)境中處理事務的提交和回滾,本文就來介紹一下springboot中手動提交事務的實現(xiàn)方法,感興趣的可以了解一下
    2024-01-01

最新評論