を二つのインターフェースを実装します。私は2つのインターフェイス持っている匿名クラスで
interface A {
void foo();
}
interface B {
void bar();
}
私はそうのように、これらのインタフェースのいずれかを実装するクラスの匿名のインスタンスを作成することができています:
new A() {
void foo() {}
}
か:
をnew B() {
void bar() {}
}
両方のインターフェイスを実装する匿名クラスを作成します。 (架空の)ような何か:
new A implements B {
void foo() {}
void bar() {}
}
これは明らかにコンパイルエラーを与える:「Bタイプに解決することはできません」。
回避策
は非常に簡単です:class Aggregate implements A, B {
void foo() {}
void bar() {}
}
私はその後、私は匿名クラスを使用していたこれまでAggregate
を使用しています。
匿名クラスで2つのインターフェイスを実装することが正当なのかどうか疑問に思っていました。
[理由 - anonymous-class-cant-implement-multiple-interfaces-directly](http://stackoverflow.com/questions/4774168/why-an-anonymous-class-cant-implement-multiple- interfaces-directly) – nawfal