java Class.getDeclaredMethods似乎显示已删除的方法

时间:2012-10-09 02:28:55

标签: java reflection

我正在使用以下代码打印类的方法:

for (Method meth : c.getDeclaredMethods())
{
  System.out.println("  " + shorten(meth.toGenericString()));
}

当它在我选择的类上运行时,它会打印我的类的当前方法,以及我曾经拥有的一些方法,但之后已被删除。我的IDE(netbeans 7.2)中的导航器不显示旧方法。没有任何方法被标记为桥或合成。

java编译器是否以某种方式保留历史记录?

1 个答案:

答案 0 :(得分:2)

编译器没有,IDE(netbeans)不应该。您很可能已经从仍然存在的旧.class文件中构建了.java个文件。尝试进行干净的构建(在重新构建之前删除所有.class文件)并查看问题是否仍然存在。