欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

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

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

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

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

獲取方法

步驟

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

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

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

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

注意:

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

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

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

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

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

總結(jié)

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

相關(guān)文章

  • SpringBoot整合MongoDB全過程

    SpringBoot整合MongoDB全過程

    這篇文章主要介紹了SpringBoot整合MongoDB全過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • JAVA錯誤類結(jié)果類和分頁結(jié)果類代碼詳解

    JAVA錯誤類結(jié)果類和分頁結(jié)果類代碼詳解

    這篇文章主要介紹了JAVA錯誤類結(jié)果類和分頁結(jié)果類代碼詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-02-02
  • POI對Excel自定義日期格式的讀取(實例代碼)

    POI對Excel自定義日期格式的讀取(實例代碼)

    下面小編就為大家?guī)硪黄狿OI對Excel自定義日期格式的讀取(實例代碼)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-11-11
  • 你什么是Elastic Stack(ELK)

    你什么是Elastic Stack(ELK)

    這篇文章主要介紹了你什么是Elastic Stack(ELK),ELK是三款軟件的簡稱,分別是Elasticsearch、Logstash、Kibana組成,需要的朋友可以參考下
    2023-04-04
  • java通過url讀取遠(yuǎn)程數(shù)據(jù)并保持到本地的實例代碼

    java通過url讀取遠(yuǎn)程數(shù)據(jù)并保持到本地的實例代碼

    本文通過實例代碼給大家介紹了java通過url讀取遠(yuǎn)程數(shù)據(jù)并保持到本地的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-07-07
  • SpringBoot整合SpringSecurityOauth2實現(xiàn)鑒權(quán)動態(tài)權(quán)限問題

    SpringBoot整合SpringSecurityOauth2實現(xiàn)鑒權(quán)動態(tài)權(quán)限問題

    這篇文章主要介紹了SpringBoot整合SpringSecurityOauth2實現(xiàn)鑒權(quán)-動態(tài)權(quán)限,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • 如何使用@Slf4j和logback-spring.xml搭建日志框架

    如何使用@Slf4j和logback-spring.xml搭建日志框架

    這篇文章主要介紹了如何使用@Slf4j和logback-spring.xml搭建日志框架問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • maven無法自動導(dǎo)入依賴jar包解決方式

    maven無法自動導(dǎo)入依賴jar包解決方式

    有時候Maven無法自動導(dǎo)入包是因為該包未下載到本地倉庫中,本文就來介紹一下解決方法,具有一定的參考價值,感興趣的可以了解一下
    2024-08-08
  • Java與Unix時間戳的相互轉(zhuǎn)換詳解

    Java與Unix時間戳的相互轉(zhuǎn)換詳解

    這篇文章主要為大家詳細(xì)介紹了Java與Unix時間戳的相互轉(zhuǎn)換,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Eclipse?Jetty?server漏洞解決辦法

    Eclipse?Jetty?server漏洞解決辦法

    最近給?個客戶部署項?,但是客戶的安全稽核有點變態(tài),居然說 Eclipse Jetty Server?危漏洞,這篇文章主要給大家介紹了關(guān)于Eclipse?Jetty?server漏洞解決的相關(guān)資料,需要的朋友可以參考下
    2023-11-11

最新評論