IntelliJ是否可以将@Overrrides添加到特定接口的所有方法?

我创build了一个接口,约30个方法,并在30个类中实现。

我想为每个实现添加@Override,但是我不想亲自去做。

IntelliJ如何帮助我?

界面如下所示:

public interface PreviewObjectTests { void testGetName(); void testGetType(); //... 30 similar methods } 

执行代码:

 public class PreviewObjectAccountTest implements PreviewObjectTests { //I want to add @Override here! @Test public void testGetName() { assertThat(...); } //I want to add @Override here! @Test public void testGetType() { assertThat(...); } //...30 similar methods } 

使用Alt + Enter意图轻松完成,然后按右箭头进入子菜单:

全部修复

对于IntelliJ:

  1. 检查是否在“首选项” – >“项目设置” – >“检查” – >“inheritance问题”中选中了“缺less@Override注释”。
  2. 使用分析 – >检查代码
  3. 查找inheritance问题 – >“检查概要文件结果”窗口中缺less@Override注释。
  4. 应用修复“添加@覆盖注释” 应用修复“添加@覆盖注释”

对于Eclipse(在Mars.2上testing):

窗口/首选项(或项目属性)Java /编译器错误/警告注释缺less@Override注释 – 设置为错误(或警告)

在重build工作区之后,在标记视图中,右键单击其中一个错误,快速修复(Ctrl + 1),应该出现所有的错误。 select全部并应用修复。

这对我来说正确地注释了几百个类…

我find了一个简单的查找/replace工具。

  1. 首先,我改变了一个方法的名字来挑起所有实现接口的文件改变
  2. 然后,我创build了一个简单的查找/replace只能看到更改的文件。

Intellij仅在已更改的文件中添加用于测试的@override

这在我的情况下工作,因为在类文件中没有任何其他方法。 如果我在属于其他接口的文件中有很多方法,我会认为这会更疯狂

它不是日食或想法specfic。 它的编译器specfic和您坚持遵守什么。 在日食其1.6或更高。 在想法,我相信它的1.5或更高。

在上述情况下,将由各个IDE自动检查。