Расширяющиеся универсальные классы

public class MyGeneric {}

public class Extend1 extends MyGeneric {}

public class Extend2 extends MyGeneric {}

, насколько я знаю, оба подкласса в приведенном выше примере действительны. Мне было интересно, как Java знает, когда типы, приведенные в суперклассах, будут определены при создании подкласса, и когда они являются фактическими именами классов (т.е. как он знает, что это не имеет значения)?

Боковая заметка допустима (даже если редко) использовать более одной буквы для общих типов? Что если (через некоторую ошибку планирования) типы конфликтуют с существующим классом E.g.

public class E{}
public class Foo{}

Что происходит тогда?

Править: Спасибо, что ответил так быстро. Чтобы ответить на мой первый вопрос, Ответ Иоахима наиболее эффективен.

Чтобы ответить на боковую точку, Ответ Aioobe более понятнее

52
задан Community 23 May 2017 в 02:17
поделиться