
额 思路 拿到classLoder的路径 然后一级一级的查找下去 当找到了 文件名为classNameclass 的话(如路径为 com/kidd/tset 对应的包名就是 comkiddtest) 就可以构建出包名了 就调用 ClassforName() ;
没有包名怎么行呢?如果有几个相同的类名的类,该怎么区分呢。如果有报名的话可以用反射: Class clazz = ClassforName("comTest");//包名类名
Method method = cgetMethod("test", Stringclass);//方法名,和参数的类对象
methodinvoke(clazznewInstance(), "print hello word");//类的实例,和参数
我觉得你写的是对的
StackTraceElement[] st = exgetStackTrace();
for (StackTraceElement stackTraceElement : st) {
String exclass = stackTraceElementgetClassName();
String method = stackTraceElementgetMethodName();
Systemoutprintln(exclass);
Systemoutprintln(method);
}
}
这个就是整个异常抛出的栈结构啊
以上就是关于java 通过类名字符串实例化类并调用其中的方法 例如"className.methodName" 不知道具体包名.全部的内容,包括:java 通过类名字符串实例化类并调用其中的方法 例如"className.methodName" 不知道具体包名.、java 通过类名字符串实例化类并调用其中的方法 例如"className.methodName" 不知道具体包名、java中,想记录异常信息,该如何获得发生异常的类名和方法名呢不要用log4j等。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)