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!"; 
 } 
}

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/19477.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论