A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

如果A是B的子类型,请问A[]是不是B[]的子类型,如果G是个集合类,那么G<A>是不是G<B>的子类型。

5 个回复

倒序浏览
在定义泛型的时候呢,就表示该集合只能接受定义在泛型里的类型,..

G<A>是G<b>的子类型, 因为A 和B 是继承关系.  当你在泛型里 定义父类B的话,那么只能使用到B类的方法,不能使用A的特有方法,如果泛型里定义的是子类A的话,那么就既可以使用B父类,也可以使用A的特有方法.

点评

Error!  发表于 2012-2-28 19:08
回复 使用道具 举报
A是B的子类型。
那么关于A[]和B[],他们都是数组只能说A[]中的单个元素是B[]的单个元素的子类型。
G<A>和G<B>是一个类。
回复 使用道具 举报
我刚刚又仔细的看了一下,,

答案应该 都不是,,

举个例子.两间一样的房子, 一间住着爸爸, 一间住着儿子, 房子和房子没关系.
回复 使用道具 举报
我感觉不是,因为集合和集合之间没有父子类型之说吧
回复 使用道具 举报
ArrayList<Object>和ArrayList<Person>你觉得是父类与子类的关系么,
不是吧,它只是功能上的区别,能装Person的不一定能装Object啊,就像是两个程序员A和B,,A会java和c++,
B只会java,B会的A都会,但是A会的B不一定会啊,,只是功能上的差别,
如果B是A的子类的话,那A会的B肯定都会啊,但是继承关系不只是功能上的差异,属性上都会继承过来
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马