複雑なジェネリック型 (複数のインターフェイスを実装する) を返すメソッドがあります。
protected abstract <BOB extends Stan & Jan<I>> BOB getStanAndJanItem();
これは正常にコンパイルされ、オーバーライドして値を返すことができます。ただし、呼び出すとすぐにコンパイルエラーが発生します(何かに割り当てる必要さえありません)。BOB はメソッド内でのみ定義されているため、これは理にかなっていると思います。
では、クラス レベルでボブを定義するにはどうすればよいでしょうか。
はい、呼び出しを分割して同じオブジェクトを返すか、追加の継承を導入することができることはわかっていますが(おそらくそれを行うことになります)、この方法でも実行できますか?
受信したエラー:
バウンドの不一致: 型のジェネリック メソッド getStanAndJanItem() はMyAbstractClass<I>
、引数 () には適用できません。推論されたタイプ Stan は、境界付きパラメーターの有効な代替ではありません<BOB extends Stan & Jan<I>>