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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

通过反射获取无参无返回值成员方法并使用

發布時間:2024/4/13 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 通过反射获取无参无返回值成员方法并使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
package cn.learn_04;import java.lang.reflect.Constructor; import java.lang.reflect.Method;public class ReflectDemo {public static void main(String[] args) throws Exception {// 獲取字節碼文件對象Class c = Class.forName("cn.learn_01.Person");// 獲取所有的方法// Method[] methods = c.getMethods(); // 獲取自己的包括父親的公共方法// Method[] methods = c.getDeclaredMethods(); // 獲取自己的所有的方法// for (Method method : methods) {// System.out.println(method);// }Constructor con = c.getConstructor();Object obj = con.newInstance();/** Person p = new Person(); p.show();*/// 獲取單個方法并使用// public void show()// public Method getMethod(String name,Class<?>... parameterTypes)// 第一個參數表示的方法名,第二個參數表示的是方法的參數的class類型Method m1 = c.getMethod("show");// obj.m1(); // 錯誤// public Object invoke(Object obj,Object... args)// 返回值是Object接收,第一個參數表示對象是誰,第二參數表示調用該方法的實際參數m1.invoke(obj); // 調用obj對象的m1方法System.out.println("----------");// public void method(String s)Method m2 = c.getMethod("method", String.class);m2.invoke(obj, "hello");System.out.println("----------");// public String getString(String s, int i)Method m3 = c.getMethod("getString", String.class, int.class);Object objString = m3.invoke(obj, "hello", 100);System.out.println(objString);// String s = (String)m3.invoke(obj, "hello",100);// System.out.println(s);System.out.println("----------");// private void function()Method m4 = c.getDeclaredMethod("function");m4.setAccessible(true);m4.invoke(obj);} }

?

總結

以上是生活随笔為你收集整理的通过反射获取无参无返回值成员方法并使用的全部內容,希望文章能夠幫你解決所遇到的問題。

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