反射案例,需求说明
- 定义一个类,在类中定义一个成员方法 show ,方法功能是:打印一个字符串。
- 使用反射机制创建该类的对象,并调用该对象的 show 方法。
Java9 之后推荐使用
clazz.getDeclaredConstructor().newInstance()
案例显示
package day25;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
public class Test {
public static void main(String[] args) throws ClassNotFoundException, IllegalAccessException, InstantiationException, NoSuchMethodException, InvocationTargetException {
Class c = Class.forName("day25.Ca");
Method method = c.getMethod("show");
// method.invoke(c.newInstance()); // Java9之后显示已过时
method.invoke(c.getDeclaredConstructor().newInstance());
}
}