最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java反射如何獲取方法屬性和方法調(diào)用

 更新時(shí)間:2023年12月07日 08:56:06   作者:DegenerateAng  
這篇文章主要介紹了java反射如何獲取方法屬性和方法調(diào)用問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

第一步當(dāng)然是了解反射是什么

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

(通俗點(diǎn)講, 通過反射,該類對(duì)我們來說是完全透明的,想要獲取任何東西都可以(轉(zhuǎn)載);)

下面我就通過反射獲取類中的方法

先創(chuàng)建一個(gè)類,在類中有方法,構(gòu)造器和成員變量(沒有截太多了只是提一下),在圖中可以看到有公有和私有的方法,等一下要分別獲取公有和私有的方法;

我們可以通過這三個(gè)方式去指定反射的那個(gè)類;都差不多,下面我就用class2去指定上面圖中的類;

獲取方法

步驟

  • 通過getDeclaredMethods類去獲取指定類中的方法;
  • 創(chuàng)建一個(gè)字符串對(duì)象,通過遍歷獲取修飾符,返回值和參數(shù);
  • 因?yàn)閰?shù)可能是多個(gè)或者沒有參數(shù),所以要在獲取參數(shù)時(shí)遍歷一下參數(shù),然后將它們拼接起來,方便瀏覽;

這樣就可以獲取到類中的方法:

獲取修飾符,返回值和參數(shù)的代碼沒有多少,只是為拼接的好看一點(diǎn)所以代碼的比較多;返回值可以通過getSimpleName這個(gè)類,簡(jiǎn)化它的格式;不然它會(huì)在前面加上包名和類名;

說完了獲取,下面就了解一下如何調(diào)用這個(gè)類的方法:

注意:

1.調(diào)用getDeclaredMethod 可以訪問公有也可以訪問私有的方法,而getMethod(只能訪問類中聲明為公有的方法);

2.無法直接訪問的方法不一定是私有  設(shè)置允許訪問 method.setAccessible(true);

下面是調(diào)用方法的運(yùn)行結(jié)果:

從結(jié)果可以看到它調(diào)用了類中Say和Say1倆個(gè)方法;

反射不單單可以獲取方法,還可以獲取構(gòu)造器和成員變量;

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • spring Data jpa簡(jiǎn)介_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    spring Data jpa簡(jiǎn)介_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要介紹了spring Data jpa簡(jiǎn)介的相關(guān)資料,需要的朋友可以參考下
    2017-09-09
  • java變量?jī)?nèi)存中存儲(chǔ)的使用方式

    java變量?jī)?nèi)存中存儲(chǔ)的使用方式

    這篇文章主要介紹了java變量?jī)?nèi)存中存儲(chǔ)的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-05-05
  • Java 壓縮包解壓實(shí)現(xiàn)代碼

    Java 壓縮包解壓實(shí)現(xiàn)代碼

    Java標(biāo)準(zhǔn)庫(Java SE)提供了對(duì)ZIP格式的原生支持,通過java.util.zip包中的類來實(shí)現(xiàn)壓縮和解壓功能,本文將重點(diǎn)介紹如何使用Java來解壓ZIP或RAR壓縮包,感興趣的朋友一起看看吧
    2025-05-05
  • 指定springboot的jar運(yùn)行內(nèi)存方式

    指定springboot的jar運(yùn)行內(nèi)存方式

    這篇文章主要介紹了指定springboot的jar運(yùn)行內(nèi)存方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • Spring AOP 自定義注解的實(shí)現(xiàn)代碼

    Spring AOP 自定義注解的實(shí)現(xiàn)代碼

    本篇文章主要介紹了Spring AOP 自定義注解的實(shí)現(xiàn)代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-04-04
  • JVM中的GC初識(shí)

    JVM中的GC初識(shí)

    GC(Garbage Collection)稱之為垃圾回收,是對(duì)內(nèi)存中的垃圾對(duì)象,采用一定的算法進(jìn)行內(nèi)存回收的一個(gè)動(dòng)作,這篇文章主要介紹了JVM中的GC初識(shí),需要的朋友可以參考下
    2022-05-05
  • springboot中redis正確的使用詳解

    springboot中redis正確的使用詳解

    本文主要介紹了springboot中redis正確的使用,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Java中Date日期類的使用方法示例詳解

    Java中Date日期類的使用方法示例詳解

    這篇文章主要介紹了Java中Date日期類的使用方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-08-08
  • Java方法簽名的獲取實(shí)例代碼

    Java方法簽名的獲取實(shí)例代碼

    這篇文章主要介紹了Java方法簽名的獲取實(shí)例代碼,分享了相關(guān)代碼示例,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • Java 日期轉(zhuǎn)換詳解及實(shí)例代碼

    Java 日期轉(zhuǎn)換詳解及實(shí)例代碼

    這篇文章主要介紹了Java 日期轉(zhuǎn)換詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2016-11-11

最新評(píng)論

山阳县| 财经| 泰顺县| 英德市| 扎鲁特旗| 大名县| 孟津县| 莎车县| 海南省| 抚州市| 托里县| 岑溪市| 兴国县| 余干县| 西充县| 扶绥县| 澄江县| 汾西县| 五台县| 子长县| 金寨县| 青浦区| 张家口市| 仁化县| 宁蒗| 临邑县| 牟定县| 弥勒县| 青岛市| 巴林右旗| 定西市| 玉树县| 右玉县| 克拉玛依市| 武定县| 岳池县| 延川县| 岳西县| 柏乡县| 资兴市| 江山市|