Java 反射机制获取Class中的方法 和字段
2017-10-30 12:32
441 查看
package p1.reflect.demo; import java.lang.reflect.Constructor; import java.lang.reflect.Method; import itcast.bean.Person; public class ReflectDemo4 { public static void main(String[] args) throws Exception { getMethodDemo_3(); } private static void getMethodDemo_3() throws Exception { Class clazz=Class.forName("itcast.bean.Person"); Method method=clazz.getMethod("paramMethod",String.class,int.class);//传入 返回值类型 Object obj=clazz.newInstance();//新建一个对象 method.invoke(obj, "小强",89);//调用获取到的方法 } private static void getMethodDemo_2() throws Exception { Class clazz=Class.forName("itcast.bean.Person"); Method method=clazz.getMethod("show", null);//获取空参数一般方法 //Object obj=clazz.newInstance(); Constructor constructor=clazz.getConstructor(String.class,int.class); Object obj=constructor.newInstance("小明",22); method.invoke(obj, null); } /* * 获取指定Class中的公共函数 */ public static void getMethodDemo() throws Exception { Class clazz=Class.forName("itcast.bean.Person"); //Method[]methods= clazz.getMethods();//获取的都是共有的方法 Method[]methods=clazz.getDeclaredMethods();//只获取本类中所有方法 包含私有 for(Method method:methods) { System.out.println(method); } } }
package p1.reflect.demo;
import java.io.File;
import java.lang.reflect.Field;
public class ReflectDemo3 {
public static void main(String[] args) throws Exception, NoSuchFieldException, SecurityException {
getFieldDemo();
}
/*
* 获取字节码中的字段
*/
private static void getFieldDemo() throws ClassNotFoundException, NoSuchFieldException, SecurityException, Exception, IllegalAccessException {
Class clazz=Class.forName("itcast.bean.Person");
//Field file= clazz.getField("age");//只能获取公共的(public) 凡是带declare的可以获取类中所有内容(共有 私有都ok)
Field field=clazz.getDeclaredField("age");
//对私有字段的访问取消权限检查 暴力访问
field.setAccessible(true);
Object obj=clazz.newInstance();
field.set(obj, 89);
Object o= field.get(obj);
System.out.println(o);
}
}
相关文章推荐
- java中反射机制通过字节码文件对象获取字段和函数的方法
- 反射机制_介绍_Class对象获取_动态操作_构造器_方法_属性JAVA211-212
- java中反射机制通过字节码文件对象获取字段和函数的方法
- Java反射03 : 获取Class的注解、修饰符、父类、接口、字段、构造器和方法
- Java笔记——利用反射机制获取成员变量及成员方法
- java 利用反射机制,获取实体所有属性和方法,并对属性赋值
- Java反射常用到的几个方法,获取Private字段,执行其他类的方法,获取类名
- 【Android开发经验】利用反射机制,获取类的字段、方法、并实现简单调用
- java 反射机制(通过getGenericSuperclass()方法获取到父类泛型的类型)
- java 利用反射机制,获取实体所有属性和方法,并对属性赋值
- java中的反射机制,以及如何通过反射获取一个类的构造方法 ,成员变量,方法,详细。。
- 利用Java的反射机制解析一个Class对象的详细内容(工具方法留用)
- 反射机制:获取class的方法
- 使用反射创建Bean、Spring中是如何根据类名配置创建Bean实例、Java提供了Class类获取类别的字段和方法,包括构造方法
- java 利用反射机制,获取实体所有属性和方法,并对属性赋值
- java 利用反射机制,获取实体所有属性和方法,并对属性赋值
- 反射机制--获取Class中的字段
- java 利用反射机制,获取实体所有属性和方法,并对属性赋值
- java 使用反射机制来获取私有方法和成员变量
- java 利用反射机制,获取实体所有属性和方法,并对属性赋值