扩展泛型类
2022-08-31 15:22:52
public class MyGeneric<T, E> {}
public class Extend1<T, E> extends MyGeneric<T, E> {}
public class Extend2 extends MyGeneric<String, Object> {}
据我所知,上面例子中的两个子类都是有效的。我想知道Java如何知道超类中给出的类型何时将在子类实例化时定义,以及何时它们是实际的类名(即它如何知道T,E不是类名)?
旁注,是否允许(即使不常见)对泛型类型使用多个字母?如果(通过规划的一些重大错误)类型与现有类冲突,例如
public class E{}
public class Foo<E>{}
然后会发生什么?
编辑:感谢您如此迅速地回答。为了回答我的第一个问题,约阿希姆的答案是最有效的。
为了回答题外话,aioobe的答案更清晰