我使用以下代码来打印类的方法:
for (Method meth : c.getDeclaredMethods())
{
System.out.println(" " + shorten(meth.toGenericString()));
}
当它在我选择的类上运行时,它会打印我的类的当前方法,以及我曾经拥有但已删除的一些方法。我的 IDE (netbeans 7.2) 中的导航器不显示旧方法。这些方法都没有被标记为桥接或合成。
java 编译器是否以某种方式保留历史记录?
最佳答案
编译器不会,IDE (netbeans) 也不应该。您很可能已经从仍然存在的较旧的 .java
文件构建了 .class
文件。尝试进行干净的构建(在再次构建之前删除所有 .class
文件)并查看问题是否仍然存在。
关于java Class.getDeclaredMethods 似乎显示已被删除的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12792068/