Java 将方法添加到多个文件的现有接口中

Java 将方法添加到多个文件的现有接口中,java,eclipse,search,interface,refactoring,Java,Eclipse,Search,Interface,Refactoring,我正在做一个现有的项目。为了添加一些功能,我必须在一个接口中添加一个方法,因为方法是在接口中添加的,所以必须由实现它的所有类来实现。我搜索了一个模块,找到了10个实现这个接口的类。但现在我将在其他模块和整个项目中搜索相同的内容。所以这有两个问题: 搜索实现该特定接口的类 我无法在eclipse中导入整个项目,因为代码库很大 搜索实现接口的类,可以这样写:类A实现ChangedInterface和类A实现B,ChangedInterface,因此即使使用grep搜索也很困难 我想听听你的建议

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

搜索实现该特定接口的类

  • 我无法在eclipse中导入整个项目,因为代码库很大
  • 搜索实现接口的类,可以这样写:
    类A实现ChangedInterface
    类A实现B,ChangedInterface
    ,因此即使使用grep搜索也很困难
我想听听你的建议

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

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

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

public abstract class AbstractClassA implements InterfaceA {
   public void newMethod() {
      //do Stuff
   }
}
然后将所有
实现的IntefaceA
更改为
扩展的AbstractClassA
,这样所有继承类都将具有newMethod的默认实现


此外,如果方法相同,您将避免重复代码。

真的-您无法导入整个项目。我在Eclipse中有大量的膨胀软件项目,可以搜索它们。虽然花了一段时间,但还是奏效了。保持简单。重新生成并查看哪里有错误,或者grep作为接口名称(也许可以添加一个regexp来包含implements.Then rebuild.And我已经在eclipse中使用了android的java源代码。你的项目一定很大。还有,为什么不实现一个Abstract类来实现这个inferace,而这个类又有默认的方法实现。从那以后,你所要做的就是从那个Abstract类进行扩展,这与查找哪个类实现了InterfaceA是同一个问题,而不是从接口A实现。此外,当从实现移动到扩展块时,也会产生问题(不能扩展多个类)。构建整个项目可能会因为其他代码更改而失败,这不一定会浪费大量时间构建一个20gig的项目。其他选项已经讨论过了。修复构建过程或在项目构建时散步。其他错误不应阻止编译器报告未实现的方法。