0

私は既存のプロジェクトに取り組んでいます。いくつかの機能を追加するには、1 つのインターフェイスに 1 つのメソッドを追加する必要がありました。メソッドはインターフェイスに追加されるため、それを実装するすべてのクラスによって実装する必要があります。1 つのモジュールを検索したところ、このインターフェイスを実装する 10 個のクラスが見つかりました。しかし今、私は他のモジュールとプロジェクト全体で同じことを検索します。したがって、これには 2 つの問題があります。

その特定のインターフェイスを実装するクラスを検索しています。

  • コードベースが大きいため、プロジェクト全体をEclipseにインポートできません。
  • インターフェースを実装したクラスを探すと、 :Class A implements ChangedInterfaceClass A implements B, ChangedInterfaceのように書けるので、grep で探すのも大変です。

あなたからの提案を聞きたいです。

編集:そのインターフェイスにメソッドを追加することは避けられません。コード ベースは 20 GB です。Eclipse でのインポートは難しいようです。

4

2 に答える 2

1

なぜ検索したいのですか?コンパイルしてエラーを確認するだけです。ビルド プロセスを自動化していない場合は、修正してください。また、すべてのクラスでこのメソッドを実装する必要がない場合は、メソッドを追加するのではなく、インターフェイスを拡張してみてください。

于 2012-10-19T09:32:37.730 に答える
-1
public interface InterfaceA {
    ...
    ...
    public void newMethod();
}

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

次に、allimplements IntefaceAextends AbstractClassAに変更します。これにより、すべての継承クラスにnewMethodのデフォルトの実装が適用されます。

また、メソッドに違いがない場合は、コードの重複を避けます。

于 2012-10-19T09:37:07.450 に答える