回顾反射机制Method
package com.demo.service;
public interface SayHello {
void sayHello(String name);
}
接口实现类
package com.demo.service.impl;
import com.demo.service.SayHello;
public class SayHelloImpl implements SayHello {
@Override
public void sayHello(String name) {
System.out.println("hello"+name);
}
}
测试主函数
package com.demo.service;
import com.demo.service.impl.SayHelloImpl;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
public class Test {
public static void main(String[] args) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
SayHelloImpl demo = new SayHelloImpl();
//获取sayHello方法对应的Method类对象
/**
* getMethod(String name, Class<?>... parameterTypes)
* 1.方法的名称,String类型
* 2.参数类型
*/
Method method = SayHello.class.getMethod("sayHello", String.class);
/**
* 通过Method对象的invoke()可以执行sayHello方法调用
* 1.Object 表示对象,要执行对象的方法
* 2.Object...args 方法执行是的参数值
*/
//表示执行demo这个对象的sayHello方法,参数是李四
//当需要执行其他对象的sayHello方法时,只需要替换对象即可实现
method.invoke(demo,"李四");
}
}
浙公网安备 33010602011771号