インターフェイスにはメソッドが実装されていないため、外部インターフェイスの実装時にネストされたインターフェイスを実装する必要はありません。
内部インターフェイスは、外部インターフェイスの名前空間にあるインターフェイスによく似ています。
まとめ:インターフェイスは、2つの独立したインターフェイスとして扱うことができるので、相互に関連がありません。唯一の関係は、A.instanceofB.method();
を呼び出すことによってインターフェイスBを使用できることです。
インタフェース:
interface OuterInterface {
String getHello();
interface InnerInterface {
String getWorld();
}
}
例:
static class OuterInterfaceImpl implements OuterInterface {
public String getHello() { return "Hello";}
}
public static void main(String args[]) {
new OuterInterfaceImpl().getHello(); // no problem here
}
例2:
static class InnterInterfaceImpl implements OuterInterface.InnerInterface {
public String getWorld() { return "World";}
}
public static void main(String args[]) {
new InnerInterfaceImpl().getWorld(); // no problem here
}
例3:
static class OuterInterfaceImpl implements OuterInterface {
public String getHello() { return "Hello"; }
static class InnerInterfaceImpl implements InnerInterface {
public String getWorld() { return "World!"; }
}
}
public static void main(String[] args) {
OuterInterface oi = new OuterInterfaceImpl();
OuterInterface.InnerInterface ii = new OuterInterfaceImpl.InnerInterfaceImpl();
System.out.println(oi.getHello() + " " + ii.getWorld());
}
ネストされたインターフェイスでメソッドを宣言することで試してみることができます:) – TheLostMind
@TheLostMind - ありがとう、ここでの問題は私は簡単な答えが必要です、また現在私は実用的な問題を試すリソースがありません。場合は、私はとにかく私は家に到達した後にコードを使用しようとしています。ありがとう –