一个Interface Add方法,如何为所有类添加默认工具

时间:2012-11-23 08:00:49

标签: eclipse

现在我有一个接口DetailUI,我有数千个类实现了DetailUI接口,我想添加一个方法isXXX(),我希望所有当前类自动实现该方法,并且该方法默认返回true ,在日食中有一种简单的方法吗?

3 个答案:

答案 0 :(得分:4)

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

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

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

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

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

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

以下替换字符串:

return true;

答案 1 :(得分:2)

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

答案 2 :(得分:0)

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

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