![](/img/trans.png)
[英]How to generate the method stubs for all un-implemented methods in interfaces/abstract classes using eclipse?
[英]How to find where an abstract method is implemented in Eclipse?
我想找到一个抽象方法在哪里实现,哪个类? Eclipse中是否有一个链接,如调用层次结构 / 开放声明或类似的内容,它显示了实现方法的位置?
这里很棒的答案! 我发现了一个从实现到实现快速导航的额外技巧。
Eclipse使用临时弹出窗口来显示“实现或定义'Class.method()'的类型”而不是可以固定到侧面的永久视图,这是相当奇怪的。
此弹出窗口的优点是,当您单击实现类型时,您将直接进入方法实现。 这个弹出窗口的缺点是它会在你弹出时立即关闭,并且无法永久固定它。
类型层次结构显示相同的实现类型列表(因为它们是抽象类的子类)。 由于它是一个视图,它可以永久固定在侧面。 但是,如果在此处双击类型名称,则会转到该类型的声明行。 然后,您必须自己找到抽象方法的实现。
除此之外,您不必使用以下技巧:
现在,您可以通过单击或双击主列表中列出的方法在实现之间快速导航。
1您也可以单击方法名称并按F4。
2如果未列出,请单击列表上方的显示类型层次结构 (2)或显示子类型层次结构 (3)按钮之一。
3如果没有辅助列表,请单击“ 查看”菜单 (4) ,选择“ 布局” > [除“ 仅层次结构”以外的任何选项]。
4如果未选中,只需单击它即可将其选中。
如果您将Ctrl + mouse hover
在某个方法上,则可以看到一个弹出窗口,您可以从中选择一组选项,其中一个是“ Open Implementation ”。 如果单击,将显示所有实现的列表。
它也可以用于查看声明和/或超级实现,因此它非常有用。
如果将光标放在方法上,只需按Ctrl + T
获得相同的效果。
如果要在“ 类型层次结构 ”视图中显示结果,请使用F4
键。
您可以使用TypeHierarchy视图。 这是Spring框架抽象类FrameworkServlet的类型层次结构视图的示例:
在左侧窗格中,您可以看到类继承树。 左窗格中类名旁边的“A”图标表示FrameworkServlet是一个抽象类。 在右侧窗格中,突出显示的方法doService(request,response)也有“A”图标,表示这是一个抽象方法。
现在,如果我们点击DispatcherServlet类,它是一个具体的(非抽象)类,你会看到:
在这种情况下,DispatcherServlet的doService方法没有'A'图标,而是具有up三角形,表示它覆盖了超类方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.