添加方法对几个文件的现有接口含义

时间:2012-10-19 09:28:54

标签: java eclipse search interface refactoring

我正在开发一个现有项目。为了添加一些功能,我必须在一个接口中添加一个方法,现在因为在接口中添加了方法,所以必须由实现它的所有类来实现。我在一个模块中搜索并找到了10个实现此接口的类。但现在我将在其他模块和整个项目中搜索相同的内容。所以这有两个问题:

搜索实现该特定接口的类。

  • 由于代码库很大,我无法在eclipse中导入整个项目。
  • 搜索实现接口的类,可以写成:Class A implements ChangedInterfaceClass A implements B, ChangedInterface,因此即使使用grep进行搜索也很困难。

我想得到你的建议。

编辑:我无法避免在该界面中添加方法。 代码库是20 GB,在eclipse中导入对我来说很难。

2 个答案:

答案 0 :(得分:1)

你为什么要搜索?只需编译并查看错误。如果您还没有自动化您的构建过程,请修复它!此外,如果不是所有类都需要实现此方法,请尝试扩展接口而不是添加方法。

答案 1 :(得分:-1)

public interface InterfaceA {
    ...
    ...
    public void newMethod();
}

public abstract class AbstractClassA implements InterfaceA {
   public void newMethod() {
      //do Stuff
   }
}

然后将所有implements IntefaceA更改为extends AbstractClassA,这样所有继承类都将具有newMethod的默认实现。

如果方法没有差异,您将避免重复的代码。