一个类的子类可以通过对象多态性为其父类实例化,但是在泛型操作中,子类的泛型类型是无法使用父类的泛型类型接收的,例如,Info<String>
不能使用 Info<Object>
接收
这里 Info<String>
无法转换为 Info<Object>
,虽然 String 是 Object 类的子类,但是在泛型操作中此概念无效,此时只能使用“?”
接收。
这里尽管 String 是 Object 的子类,通过对象的多态性 Object 类可以接收任意引用类型的对象,但是在泛型中却无法使用
此时将对象 Info<Object>
和 Info<String>
分别当作商场的全部商品和个人已购买的商品信息,一个人所购买的肯定是商场中很少的一部分商品,如果现在使用“Info<Object> = Info<String>”
,就相当于在个人已购买的商品加入了商场的全部商品,相当于个人把整个商场的商品全部买走了,这基本是不可能的