假设我们知道 ViewGroup 扩展了 View。
此外,我们还有一个通用的参数化 class A<T extends View>
问题:
为什么不使用方法 C.add()
接受 new A<ViewGroup>()
作为参数?
由于多态性,它不应该起作用吗?
解决方案:
唱歌加? extends View
让我们添加接受 new A<ViewGroup>()
作为参数。
最佳答案
您将 add
方法签名为:
static void add(A<View>)
但你的意思可能是:
static void add(A<? extends View> a)
关于Java泛型参数和继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6927399/