Java で型パラメータの境界を定義するために、常に " extends
" ではなく " "を使用する特別な理由があるのでしょうか?implements
例えば:
public interface C {}
public class A<B implements C>{}
禁止されていますが、
public class A<B extends C>{}
正しいです。その理由は何ですか?
ベストアンサー1
汎用制約言語では、クラスが「実装」されているか「拡張」されているかによって意味上の違いはありません。制約の可能性があるのは、「拡張」と「スーパー」です。つまり、このクラスは他のクラスに割り当て可能 (拡張) か、このクラスは他のクラスから割り当て可能 (スーパー) かということです。