4

现在我有一个DetailUI接口,我有上千个类实现了DetailUI接口,我想添加一个方法isXXX(),我想让当前所有的类自动实现该方法并且该方法默认返回true,有没有eclipse中的简单方法?

4

3 回答 3

4

也许还有另一种方式,但你可以

  • 在接口中添加方法声明
  • 转到问题视图,选择新方法导致的编译错误之一,右键单击并选择快速修复
  • 选择“添加未实现的方法”,然后选择对话框底部的所有其他类

但是,这将使生成的方法返回 false:

public boolean isXXX() {
    // TODO Auto-generated method stub
    return false;
}

因此,您可以搜索并替换为以下搜索正则表达式:

// TODO Auto-generated method stub\R\s*return false;

以及以下替换字符串:

return true;
于 2012-11-23T08:34:14.087 回答
2

是的。转到“问题”视图,并选择所有表明您缺少该方法的问题(“XYZ 类型必须实现继承的...”)。全部选择后,右键单击并选择“快速修复”。

于 2012-11-23T08:34:23.793 回答
0

对于实现接口的类层次结构,上述解决方案可能并不理想——如果存在抽象超类,它不会因缺少另一个方法而标记错误。我发现使用 Type Hierarchy 视图(Windows 上的 F4)查找顶级类并在那里添加方法更方便。

另一种选择是升级到允许默认实现的 Java 1.8。https://docs.oracle.com/javase/tutorial/java/IandI/defaultmethods.html

于 2015-05-21T18:56:33.413 回答