public class MyGeneric<T, E> {}
public class Extend1<T, E> extends MyGeneric<T, E> {}
public class Extend2 extends MyGeneric<String, Object> {}
Насколько мне известно, оба подкласса в приведенном выше примере являются действительными.Мне было интересно, как Java знает, когда типы, заданные в суперклассе, будут определены, когда создается экземпляр подкласса, и когда они являются реальными именами классов (т.е. как он знает, что T, E не являются именами классов)?1003 * Примечание: допустимо ли (даже если оно редко) использовать более одной буквы для универсальных типов?Что если (из-за серьезной ошибки планирования) Типы конфликтуют с существующим классом, например,
public class E{}
public class Foo<E>{}
что происходит потом?
Редактировать: Спасибо за быстрый ответ.Чтобы ответить на мой первый вопрос, ответ Иоахима наиболее эффективен.
Чтобы ответить на дополнительный вопрос, ответ aioobe яснее