反射的简单使用
创建一个类:
package com.xing.action;
public class TelAction {
public void del(){
System.out.print("欢迎访问我的删除方法DEl");
}
public void list(){
System.out.println("欢迎访问我的列表方法LISt");
}
}
编写一个反射,根据类名创建对象
package com.xing.test;
import java.lang.reflect.Method;
public class test {
public static void main(String[] args) {
try {
// 根据类名找到类,反射
Class clz = Class.forName("com.xing.action.TelAction");
System.out.println("1.0输出类的地址:"+clz);
// 创建一个对象,根据类
Object o = clz.newInstance();
System.out.println("2.0输出对象的地址:"+o);
// 根据方法名找到方法(这里写的是无参的),反射
Method m = clz.getDeclaredMethod("list", null);
m.invoke(o, null);// 反射的方法调用
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
运行结果:
1.0输出类的地址:class com.xing.action.TelAction
2.0输出对象的地址:com.xing.action.TelAction@45bab50a
欢迎访问我的列表方法LISt