Me pregunto si existe una razón especial en Java para usar siempre "extends
" en lugar de "implements
" para definir los límites de los parámetros de tipo.Genéricos de Java: ¿por qué se permite "extiende T" pero no "implementa T"?
Ejemplo: está prohibido
public interface C {}
public class A<B implements C>{}
pero
public class A<B extends C>{}
es correcto. ¿Cuál es la razón para eso?
Marque la respuesta de Tetsujin no Oni como correcta. – KomodoDave
No sé por qué la gente piensa que la respuesta de Tetsujin no Oni realmente responde la pregunta. Básicamente, reformula las observaciones de OP utilizando términos académicos, pero no da ningún razonamiento. "¿Por qué no hay 'implementos'?" - "Porque solo hay' extends' ". – ThomasR
ThomasR: eso se debe a que no se trata de "permitido", sino de significado: no hay diferencia en cómo escribiría un genérico que consuma un tipo con una restricción sobre si la restricción proviene de una interfaz o un tipo de antepasado. –