日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

如何在Java Reflection中的类下获取所有方法信息?

發布時間:2023/12/3 java 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何在Java Reflection中的类下获取所有方法信息? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文以我以前的文章為基礎 。 在本文中,我們將看到如何使用Java Reflection檢索類相關信息。 我們將重點介紹方法名稱。

注意:我將創建一個單獨的反射器實用程序類,在該類中,我們在其構造函數中輸入一個目標類,然后使用一個單獨的方法檢索信息。 這樣,我們可以隔離我們的需求。 在開始之前,請先查看此內容 。

如何在一個類中獲取所有聲明的方法名稱?

這意味著,我們將獲得在類內部聲明的方法名稱(公共,私有,默認,受保護),即不是繼承的方法。

public String[] getAllOwnMethodNames(){ArrayList<String> allMethods = new ArrayList<String>();for(Method aMethod : myClass.getDeclaredMethods()){ allMethods.add("Method Name : "+aMethod.getName()+" , Full Name : "+aMethod.toString());}return allMethods.toArray(new String[allMethods.size()]);}

如何從一個類(包括其自己的超類,接口的繼承的,實現的方法)中訪問所有方法名稱?

public String[] getAllPubliAndInheritedMethodNames(){ArrayList<String> allMethods = new ArrayList<String>();for(Method aMethod : myClass.getMethods()){ allMethods.add("Method Name : "+aMethod.getName()+" , Full Name : "+aMethod.toString());}return allMethods.toArray(new String[allMethods.size()]);}

注意:要獲得詳細信息,我們使用getName()和toString()方法。

對于這兩種情況,我們都可以指定方法名稱來獲取該特定方法。

myClass.getDeclaredMethod(<Name of the method as string>, parameter of that method) myClass.getMethod(<Name of the method as string>, parameter of that method)

在這兩種情況下,我們都需要知道方法的名稱。 有時,對于一個類,我們需要知道某個方法是Getter還是setter方法。 我們可以應用一個小的字符串過濾器,如下所示:

要知道它是否是Getter方法:

aMethod.getName().startsWith("set");

要知道它是否是一個Setter方法:

aMethod.getName().startsWith("get");

翻譯自: https://www.javacodegeeks.com/2015/01/how-to-get-all-method-information-under-a-class-in-java-reflection.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的如何在Java Reflection中的类下获取所有方法信息?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。