java中由类名和方法名字符串实现其调用【反射机制】
js里通过eval()函数,在知道某个方法名是可以实现调用该方法,那么在java里边又怎么实现的呢?
java里边是通过反射机制来实现,代码如下:
import java.lang.reflect.Method; public class Test { public static void main(String[] args) throws Exception { String className = "com.runqianapp.ngr.alias.example.FunClass"; String methodName = "sayHello"; Class clz = Class.forName(className); // Object obj = clz.newInstance(); //获取方法 Method m = obj.getClass().getDeclaredMethod(methodName, String.class); //调用方法 String result = (String) m.invoke(obj, "aaaaa"); System.out.println(result); } } class FunClass{ public String sayHello(String s){ System.out.println(s); return "hello!"; } }
看完打开支付宝扫一扫领个红包吧!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步