java 反射
2021-07-11 19:07
标签:实例 获取 getc java declare 方法调用 构造方法 tde row java 反射 标签:实例 获取 getc java declare 方法调用 构造方法 tde row 原文地址:https://www.cnblogs.com/iscys/p/9550118.htmlpublic static void main(String[] args) throws ClassNotFoundException, InstantiationException, IllegalAccessException, NoSuchMethodException, SecurityException, IllegalArgumentException, InvocationTargetException {
//加载class对象
Class clazz = Class.forName("com.oa.model.wxlog.WxLog");
System.out.println("---------------------------获取所有的公共构造方法");
Constructor[] construArray= clazz.getConstructors();
for(Constructor c:construArray) {
System.out.println(c);
}
System.out.println("----------------------------获取所有的构造方法");
Constructor[] d= clazz.getDeclaredConstructors();
for(Constructor c:construArray) {
System.out.println(c);
}
System.out.println("------------------------------获取所有的属性");
Field[] filed=clazz.getDeclaredFields();
for(Field c:filed) {
System.out.println(c);
}
System.out.println("------------------------------获取所有的方法");
Method[] methods=clazz.getDeclaredMethods();
for(Method c:methods) {
System.out.println(c);
}
System.out.println("----------------------------------方法执行");
//创建对象实例
Object o=clazz.newInstance();
//传入方法名,以及方法中的参数
Method mo=clazz.getMethod("getOperatortype", null);
//方法调用,传入对象以及方法参数
mo.invoke(o, null);
Method mo1=clazz.getMethod("setOperatortime", Date.class);
mo1.invoke(o, new Date());
}