- package com.day;
- import java.lang.reflect.InvocationTargetException;
- import java.lang.reflect.Method;
- public class Test4 {
- /**
- * 编写一个类,增加一个实例方法用于打印一条字符串。 并使用反射手段创建该类的对象, 并调用该对象中的方法。
- */
- public static void main(String[] args) {
- try {
- ReflectionTestDemo r = ReflectionTestDemo.class.newInstance();
- String str = "Hello,Reflection";
- Method[] ms = ReflectionTestDemo.class.getMethods();
- for (Method m : ms) {
- if (m.getName().equals("printStr")) {
- Class[] cs = m.getParameterTypes();
- if (cs.length == 1) {
- for (Class c : cs) {
- if (c.getName().equals(String.class.getName())) {
- m.invoke(r, str);
- }
- }
- }
- }
- }
- } catch (InstantiationException | IllegalAccessException e) {
- e.printStackTrace();
- } catch (IllegalArgumentException e) {
- e.printStackTrace();
- } catch (InvocationTargetException e) {
- e.printStackTrace();
- }
- }
- }
- class ReflectionTestDemo {
- public void printStr(String str) {
- System.out.println(str);
- }
- }
复制代码
加油吧 |
|