这里先不说原理,只说说怎么用,其原理容我以后慢慢更新.先看一个最简单的反射栗子解解馋,看看反射是什么东东
老样子先定义一个java程序员,只有一个方法就是code。
package com.xiaohh.invoke;
public class JavaCoder {
public void code() {
System.out.println("coding java code...");
}
}
写一个反射方法来调用javacoder。
package com.xiaohh.invoke;
import java.lang.reflect.Method;
import java.lang.reflect.InvocationTargetException;
import com.xiaohh.thread.Main;
public class Test {
private static final String javaCoder = "com.xiaohh.invoke.JavaCoder";
public static void main(String[] args) {
try {
Class clazz = Class.forName(javaCoder);
Object coder = clazz.newInstance();
Method method = clazz.getMethod("code");
method.invoke(coder);
} catch (Exception e) {
// TODO: handle exception
}
}
}
运行一下看看。
coding java code...
啦啦啦,结果出来了。。。。反射成功了,这只是一个最简单的demo,接下来我们还要实现反射的其他功能,慢慢看,慢慢来。。。