java使用反射实例
2017-09-06 16:09
316 查看
创建一个Student类用来供反射调用
在main中代码如下
1.获得Class对象,即ClassforName的返回值
类加载 Class.for
4000
Name() 其中的参数是String类型。传入类名,必须包含报名
2.获取类中的方法 getDeclaredMethod方法
使用为 类对象.getDeclaredMethod 传入参数分别为 方法名称 ,参数类 例子很明确
3.使用invoke方法实际调用
method.invoke 参数 class 和Object…
4.返回值是Object 可以打印显示是否正确
public class Student { private String id; public Student(String id) { this.id = id; } public Student() { } public String getId() { return id; } public void setId(String id) { this.id = id; } }
在main中代码如下
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; public class Main { public static void main(String[] args) { Student student = new Student(); System.out.println(student.getClass().getName()); try { Class c = Class.forName(student.getClass().getName()); Object o = c.newInstance(); Method getId = c.getDeclaredMethod("getId", null); Method setId = c.getDeclaredMethod("setId", java.lang.String.class); Object invoke = setId.invoke(o, "123"); System.out.println(getId.invoke(o,null)); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InstantiationException e) { e.printStackTrace(); } catch (NoSuchMethodException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } } }
1.获得Class对象,即ClassforName的返回值
类加载 Class.for
4000
Name() 其中的参数是String类型。传入类名,必须包含报名
2.获取类中的方法 getDeclaredMethod方法
使用为 类对象.getDeclaredMethod 传入参数分别为 方法名称 ,参数类 例子很明确
3.使用invoke方法实际调用
method.invoke 参数 class 和Object…
4.返回值是Object 可以打印显示是否正确
方法关键字 | 含义 |
getDeclaredMethods() | 获取所有的方法 |
getReturnType() | 获得方法的放回类型 |
getParameterTypes() | 获得方法的传入参数类型 |
getDeclaredMethod(“方法名”,参数类型.class,……) | 获得特定的方法 |
构造方法关键字 | 含义 |
getDeclaredConstructors() | 获取所有的构造方法 |
getDeclaredConstructor(参数类型.class,……) | 获取特定的构造方法 |
父类和父接口 | 含义 |
getSuperclass() | 获取某类的父类 |
getInterfaces() | 获取某类实现的接口 |
相关文章推荐
- Java反射使用实例(http实体类转换)
- JAVA反射使用实例和class.getResource()得到URL中含有中文和空格乱码问题
- 使用反射创建Bean、Spring中是如何根据类名配置创建Bean实例、Java提供了Class类获取类别的字段和方法,包括构造方法
- Java反射API使用实例
- java反射和自定义注解的使用实例
- Java使用new和反射实例化内部类对象
- 使用java反射中的getMethod,invoke方法调用对象方法的实例
- Java反射学习总结四(动态代理使用实例和内部原理解析)
- Java反射及使用实例
- 使用java反射根据参数返回类的实例
- java 程序加载过程---3--类中申明同时申明类的静态对象 创建类的实例 访问类的静态变量 调用类的静态方法 使用反射方法 初始化类的子类对象 直接使用java.exe 调用某个类
- Java反射学习总结四(动态代理使用实例和内部原理解析)
- java学习---使用反射创建类的实例
- java反射使用实例
- 使用反射创建Bean、Spring中是如何根据类名配置创建Bean实例、Java提供了Class类获取类别的字段和方法,包括构造方法
- 使用技巧:Java实现随机验证码功能实例
- 使用java解析xml的实例程序
- Java反射经典实例 Java Reflection Cookbook
- java.io.file使用实例
- 使用Java5特性来简化反射编程