Eclipse中的方法调查 - 如何找出哪个类调用此特定方法?

时间:2012-02-06 17:06:27

标签: java eclipse spring

说我有 Class1 ,它实现了名为 Class1interface 的接口。

此接口通过依赖注入和IoC自动连接到另一个类 - 将其命名为 Class2 Class2 使用 Class1interface 提供的某些方法。

假设我们使用Spring表示法:

class Class2 {
   @Autowired 
   Class1interface;
   // methods calls of Class1interface and application logic
}

如何在不滚动屏幕的情况下找出Class2中使用Class1interface / Class1的哪些方法?或者我如何检查在Class2中是否使用了这个特定的Class1接口方法?

我知道狡猾的解释,但我尽了最大努力。

谢谢,

5 个答案:

答案 0 :(得分:3)

当光标在方法上时,

ctrl + shift + G 将显示对该方法的引用。这不会给你一个关于类关系的漂亮报告,但你可以查看Class1.blah的结果,看看Class2中哪些方法引用它。

答案 1 :(得分:3)

如果您的意思是在运行时,则必须使用反射来提取方法列表。

Method[] list1 = Class1.class.getMethods();
Method[] list2 = Class2.class.getMethods();
//Your code to compare the lists here

如果您的意思是开发环境,请使用@digitaljoel

的答案

答案 2 :(得分:0)

当您将光标放在字段引用上时,可以使用“Ctrl + shift + U”,您应该能够看到该类中字段引用的用法。

答案 3 :(得分:0)

  • 如果单击该字段,则会自动突出显示对其的所有引用。您将它们视为代码右侧的小矩形;您可以单击它们以到达使用该字段的位置。
  • Search > Occurences in File > Identifier为您提供该字段的所有访问权限列表。

答案 4 :(得分:0)

这不是确切的解决方案,但可能有所帮助:

将光标放在任何字段或方法上,然后按<Ctrl> + <Alt> + <H>,这将为您提供调用层次结构。 这仍然意味着您必须检查Class1 / Interface1

中的每种方法