1

InterfaceIOuterとネストされた interfaceがありますIInner。お気に入り

interface IOuter {
   public void outerA();
   interface IInner {
      public void innerA();
   }
}

と の両方IOuterIInnerセッター API があります。
セッター API は内部インターフェイスに対してのみ有効であるため、ネストされたインターフェイスを作成しました。
外部インターフェイスと内部インターフェイスの両方が、外部に公開されていない単一のクラスに実装されています。
外部アプリケーションは、 interface を介してコードと対話していますIOuter。問題は、ネストされたインターフェイスのオブジェクトがないため、ネストされたインターフェイス API を呼び出すことができないことです。
誤解される可能性があるため、ネストされたインターフェイス API を外部インターフェイスに移動したくありません。

4

3 に答える 3

0

以下に示すように、内部インターフェイスは外部の静的メンバーとして、または直接使用できます。ここで、A は外部インターフェイスと内部インターフェイスの両方の実装です。

       IOuter o = new A();
        o.outer();

        IOuter.IInner i = new A();
        i.inner();

        //OR 
        IInner i2 = new A();
        i.inner();
于 2013-10-07T08:19:51.633 に答える