反射-通过反射获取无参无返回值成员方法、带参带返回值成员方法并使用
来源:互联网 发布:mac地址有什么用 编辑:程序博客网 时间:2024/05/21 11:17
package cn.itcast_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.itcast_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();// 获取单个方法并使用// public void show()// public Method getMethod(String name,Class<?>... parameterTypes)// 第一个参数表示的方法名,第二个参数表示的是方法的参数的class类型Method m1 = c.getMethod("show");// public Object invoke(Object obj,Object... args)// 返回值是Object接收,第一个参数表示对象是谁,第二参数表示调用该方法的实际参数m1.invoke(obj); // 调用obj对象的m1方法// public void method(String s)Method m2 = c.getMethod("method", String.class);m2.invoke(obj, "hello");// public String getString(String s, int i)Method m3 = c.getMethod("getString", String.class, int.class);// 任何类型都可以用Object接收Object objString = m3.invoke(obj, "hello", 100);System.out.println(objString);// String s = (String)m3.invoke(obj, "hello",100);你明确知道是什么类型,可以强转回来// System.out.println(s);// private void function()Method m4 = c.getDeclaredMethod("function");m4.setAccessible(true);m4.invoke(obj);}}
阅读全文
0 0
- 反射-通过反射获取无参无返回值成员方法、带参带返回值成员方法并使用
- 通过反射获取无参无返回值成员方法并使用
- 反射_通过反射获取带参带返回值成员方法并使用
- 反射_通过反射获取无参无返回值成员方法并使用
- java中通过反射获取成员方法并使用
- 反射机制的概述和字节码对象的获取,通过反射获取构造方法并使用;通过反射获取成员变量并使用;通过反射获取私有成员变量并使用;通过反射获取成员方法并使用
- 通过反射获取成员变量并使用
- 反射_通过反射获取成员变量、构造方法、成员方法的使用
- 通过反射获取构造方法,成员变量及成员方法
- 反射:通过反射获取成员变量并使用
- 反射_通过反射获取成员变量并使用
- 反射-通过反射获取成员变量并使用
- 通过反射获取方法返回的类型
- Java反射获取成员方法
- Java(通过反射获取成员变量并使用)
- 通过Java反射机制获取对象、方法和成员变量
- Java(通过反射获取方法并使用)
- 通过反射拿到属性值或是方法返回值
- 设计模式(Design Pattern)
- ElasticSearch 学习随笔
- DateConverter does not support default String to 'Date' conversion.的处理
- 程序员面试金典8.1
- View的圆角 IOS
- 反射-通过反射获取无参无返回值成员方法、带参带返回值成员方法并使用
- 常用字符串方法
- Android 中关于 【Cursor】 类的介绍
- TCP Split Handshake Attack
- java项目中想获取当前项目的路径
- 设计模式(一)----工厂模式
- jdk8并行流
- angularJs中$http获取后台数据实例
- OpenGL纹理设置