public class MyGeneric<T, E> {}
public class Extend1<T, E> extends MyGeneric<T, E> {}
public class Extend2 extends MyGeneric<String, Object> {}
Pour autant que je suis conscient, à la fois de la sous-classes dans l'exemple ci-dessus sont valables. Je me demandais comment Java sait quand le type donné dans la super-classe vont être définis lors de la sous-classe est instanciée, et quand ils sont de véritables noms de classe (c'est à dire Comment sait-elle T, E ne sont pas des noms de classe)?
Une note de côté, est-il permis (même si rares) à l'utilisation de plus d'une lettre pour les types génériques? Que faire si (par le biais de certains sever erreur de planification) Les types de conflit avec une classe existante, par exemple
public class E{}
public class Foo<E>{}
ce qui arrive ensuite?
Edit: Merci de répondre si rapidement. Pour répondre à ma première question, Joachim réponse est la plus efficace.
Pour répondre à la côté point, aioobe la réponse est plus claire