k*****c 发帖数: 6 | 1 现在有一个类的.class文件,想获得这个类定义的public methods。
使用下面的方法来做。但对于某些类,在运行到theClass.getMethods()时就出ClassNotF
oundException(而且不能被我程序的异常处理捕获,直接退出到命令行),因为那个类引
用了一些在我的机器上没有的类。
//Class theClass=classLoader.loadClass(sClassName);
Class theClass=Class.forName(sClassName,false,classLoader);
allMethods=theClass.getMethods();
我的目的是只想得到这个类定义的所有公开功能,并不是要使用这个类。
(当然可以用decompiler去看,但我要处理大量的类,想通过程序做)
应该有办法获得吧,就象IDE可以列出类的所有功能。
请指教。谢谢! | m******t 发帖数: 2416 | 2 that's interesting. Looks like you have to have all the classes
referenced from the class you are try to reflect on.
【在 k*****c 的大作中提到】 : 现在有一个类的.class文件,想获得这个类定义的public methods。 : 使用下面的方法来做。但对于某些类,在运行到theClass.getMethods()时就出ClassNotF : oundException(而且不能被我程序的异常处理捕获,直接退出到命令行),因为那个类引 : 用了一些在我的机器上没有的类。 : //Class theClass=classLoader.loadClass(sClassName); : Class theClass=Class.forName(sClassName,false,classLoader); : allMethods=theClass.getMethods(); : 我的目的是只想得到这个类定义的所有公开功能,并不是要使用这个类。 : (当然可以用decompiler去看,但我要处理大量的类,想通过程序做) : 应该有办法获得吧,就象IDE可以列出类的所有功能。
|
|