Java中的反射与动态代理
2017-11-12 17:13
316 查看
通过一个字符串,获取这个字符串所代表的那个类的属性/方法等。
拿到字符串,不能new字符串。
拿到构造函数
拿到字符串,不能new字符串。
拿到构造函数
//personClass是拿到之后的类 Constructor constructor=personClass.getConstructor(Long.class,String.class); Person person=(Person) constructor.newInstance(100L,"zhangsan"); //私有的构造方法 //暴力反射 public void getPrivateConstructor() throws Exception{ //一个string类型的构造参数 Constructor con=personClass.getDeclaredConstructor(String.class); con.setAccessible(true); Person person2=(Person)con.newInstance("zhangsan"); System.out.println("*"+person2.getName()); }
获取非私有成员
Object obj=constructor.newInstance(100L,"zhangsan"); Field field=personClass.getField("name"); //给具体对象设置 field.set(obj,"lisi");
获取非私有成员
Object obj=constructor.newInstance(100L); Field field2=personClass.getDeclaredField("id"); field2.setAccessible(true); field2.set(obj,10000L); System.out.println(field2.get(obj));
获取非私有函数
Object obj=constructor.newInstance(); //这个对象来实现这个方法。 Object object=personClass.getMethod("toString").invoke(obj); //即:Method toStringMethod=personClass.getMethod("tostring"); Object object=toStringMethod.invoke(obj); System.out.println(object);
相关文章推荐
- Java 反射之JDK动态代理
- JAVA核心层--反射--动态代理
- Java基础进阶_day18_(类加载器,反射,动态代理)
- java动态代理机制和反射机制间的联系
- Java中反射、静态代理、动态代理
- 从java 反射看延迟加载(代理模式)(六)——动态代理与静态代理
- Java动态代理与反射详解
- java反射——运用反射生成jdk动态代理
- Java 反射之JDK动态代理
- Java深度历险(七)——Java反射与动态代理
- 黑马程序员_Java反射-简单动态代理
- 【Java核心技术】类型信息(Class对象 反射 动态代理)
- jdk 源码分析(21)java 动态代理和反射
- Java语言中反射动态代理接口的解释与演示
- java反射之基于JDK的动态代理的乐子
- Java反射与动态代理
- java反射及动态代理
- Java学习之反射机制---动态代理
- JAVA中的反射机制和动态代理