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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > java >内容正文

java

Java获取方法信息(某一函数,方法也是一个对象)

發(fā)布時(shí)間:2025/3/15 java 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java获取方法信息(某一函数,方法也是一个对象) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目錄

?

?

理論

演示


?

理論

java中萬(wàn)事萬(wàn)物都是對(duì)象,某一個(gè)類(lèi)的方法,也是對(duì)象,所以對(duì)象中的一個(gè)方法也是一個(gè)對(duì)象,所以后期才會(huì)有注解,方便開(kāi)發(fā)者的編程。

?

演示

整體項(xiàng)目結(jié)構(gòu)如下:

?

演示獲取基本數(shù)據(jù)!

源碼如下:

GenericData.java

package my;public class GenericData {@SuppressWarnings("rawtypes")public static void main(String[] args) {Class c1 = int.class; Class c2 = String.class;Class c3 = double.class;Class c4 = Double.class;Class c5 = void.class;Class c6 = double.class.getClass();Class c7 = double.class.getClass().getClass();System.out.println(c1.getName());System.out.println(c2.getName());System.out.println(c3.getName());System.out.println(c4.getName());System.out.println(c5.getName());System.out.println();System.out.println(c6.getName());System.out.println(c7.getName());} }

運(yùn)行截圖如下:

其中:

?? ??? ?Class c1 = int.class;? ? ? ? ? 為int的類(lèi)類(lèi)型
?? ??? ?Class c2 = String.class;? ? ? ? ? String類(lèi)型的類(lèi)型
?? ??? ?Class c3 = double.class;? ? ? ? ? double.class為double數(shù)據(jù)類(lèi)型的類(lèi)型
?? ??? ?Class c4 = Double.class;? ? ? ? ? Double.class為Double類(lèi)類(lèi)型
?? ??? ?Class c5 = void.class;? ? ? ? ?
?? ??? ?
?? ??? ?Class c6 = double.class.getClass();? ? ? ? ??double數(shù)據(jù)類(lèi)型的類(lèi)型的類(lèi)型
?? ??? ?Class c7 = double.class.getClass().getClass();? ? ? ? ? 最后還是回到了Class類(lèi)型

?

演示二:獲取類(lèi)方法名

ClassUtil.java

package my;import java.lang.reflect.Method;public class ClassUtil {/*** 打印類(lèi)的信息,包括成員函數(shù)、成員變量* */public static void printClassMessage(Object obj) {Class c = obj.getClass();//獲取類(lèi)名System.out.println("類(lèi)的名稱(chēng)是:" + c.getName());//獲取方法Method[] ms = c.getMethods();for(int i = 0; i < ms.length; i++) {//獲取方法返回值類(lèi)型Class returnType = ms[i].getReturnType();System.out.print(returnType.getName() + " ");//得到方法的名稱(chēng)System.out.print(ms[i].getName() + "(");//獲取參數(shù)類(lèi)型Class[] paramTypes = ms[i].getParameterTypes();for(Class class1 : paramTypes) {System.out.print(class1.getName() + ",");}System.out.println(")");}} }

MethodData.java

package my;public class MethodData {public static void main(String[] args) {String s = "Hello";ClassUtil.printClassMessage(s);} }

運(yùn)行截圖如下:

這里只要注意這幾點(diǎn):

getMethods()是獲取所有public的函數(shù),包括父類(lèi)的;

getDeclaredMethods()獲取自己聲明的

總結(jié)

以上是生活随笔為你收集整理的Java获取方法信息(某一函数,方法也是一个对象)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。