私は自分のコードで長い間存在し、多くのクラスがそれを実装しているインターフェースを使用しています。ここで、新しいクラス用にこのインターフェイスに新しいメソッドを追加する必要があります [古いクラスには新しいメソッドは必要ありません]。そのため、多くの場所で提案されているように、その古いインターフェイスを拡張して、新しいメソッドで新しいインターフェイスを作成できます。今私の問題は、インターフェース実装を使用するアプリランチャーが基本インターフェースへの参照しか持たず、基本インターフェースを使用して新しいインターフェースでメソッドを呼び出せないことです。
baseInterface is extended by newInterface
Class Applauncher{
baseInterface b;
}
ご覧のとおり、Applauncher クラスの「newInterface」で新しいメソッドを呼び出すことはできません。
古い実装を揺るがさないソリューションが必要です。