如何在Eclipse中查找方法实现的用法?

17

当我想要查找Java中普通方法的用法时,可以很容易地使用CTRL-SHIFT-G

但是,如果这个方法有一个super定义或实现,那么eclipse会显示所有层次类型中的所有类型的用法。

例如,如果我在我的类上有一个toString()方法,我只对查找调用该类的toString()方法感兴趣,而不是所有祖先类的toString()方法(即)。

如何仅查找与我的类相关的用法?而不包括父类如的用法?


请问您能否释放这个赏金。 - Prateek Jain
3个回答

21

Alt + ctrl + h应该会给你所需要的东西。

由于一些人在跟随时遇到问题,因此更新了我的工作区截图:

输入图片说明


在Eclipse Neon中仍然可以找到Object的toString()出现 - user7294900
这是正确的答案:在Eclipse中右键单击,然后选择“打开调用层次结构”...已点赞 :) - Halayem Anis
@user7294900 我刚刚尝试了你建议的方法,但对我来说它很好用。我正在使用jdk8、eclipse mars2和java透视图。我在new MyClass().toString()行上选择了'toString()',它给了我一个单一的结果。确保您没有覆盖任何默认键绑定。 - Prateek Jain
让我再试一次。 - Oliver Watkins
这是正确的行为。如果您选择“new Object().toString()”,那么它将显示所有对Object的toString的引用。它会显示数百个结果,因为Object是Java中所有类的基类。那不是Eclipse;它是核心Java :) - Prateek Jain
显示剩余9条评论

4
感谢 @manouti answer, 当使用重写方法时,只需按照以下步骤进行展示:

在Java中搜索该方法,如com.package.MyObject.toString()

在搜索结果屏幕上,点击向左的右箭头并勾选References to Overridden


不适用于我。我的Test.class中只有一个对toString()的调用,如果我在toString()上进行搜索,然后选择“覆盖引用”,我仍然会得到其他无关类的许多toString()方法的命中。 - Oliver Watkins
@OliverWatkins 在 Java 中搜索,您限制为:参考资料? - user7294900

0

在遇到与其他评论者相同的问题(Eclipse显示对Object.toString()的引用)后,我找到了一种似乎可以正确解决问题的方法:

从您的自定义类中进入大纲视图,在toString()实现上右键单击,选择“引用” -> “项目”。这将仅显示对该实现的引用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接