Ski*_*kip 1 java generics polymorphism inheritance
我们知道ViewGroup扩展了View.
此外,我们有一个通用的参数化class A<T extends View>
问题:
为什么方法不C.add()接受new A<ViewGroup>()参数?
由于多态性,它不应该工作吗?

解决方案:
Singning add with ? extends Viewlet添加accept new A<ViewGroup>()作为参数.

您将add方法签名为:
static void add(A<View>)
Run Code Online (Sandbox Code Playgroud)
但你可能意味着:
static void add(A<? extends View> a)
Run Code Online (Sandbox Code Playgroud)