java 类型接收问题
答案:2 悬赏:70 手机版
解决时间 2021-02-11 15:24
- 提问者网友:山高云阔
- 2021-02-11 04:44
java 类型接收问题
最佳答案
- 五星知识达人网友:十年萤火照君眠
- 2021-02-11 05:43
//Apple Orange 都继承自Fruit类,同时Jonathan是Apple的子类
List extends Fruit> list = new ArrayList();
//list.add(new Apple());Error
//list.add(new Fruit());Error
List super Fruit> list = new ArrayList();
list.add(new Apple());//可以
list.add(new Fruit());//可以
List extends Fruit> list = new ArrayList();
list中为什么不能加入Fruit类和Fruit类的子类呢,原因是这样的
List extends Fruit>表示上限是Fruit,下面这样的赋值都是合法的
List extends Fruit> list1 = new ArrayList();
List extends Fruit> list2 = new ArrayList();
List extends Fruit> list3 = new ArrayList();
如果List extends Fruit>支持add方法的方法合法的话
list1可以add Fruit和所有Fruit的子类
list2可以add Apple和所有Apple的子类
list3可以add Jonathan和所有Jonathan的子类
这样的话,问题就出现了
List extends Fruit>所应该持有的对象是Fruit的子类,而且具体是哪一个
子类还是个未知数,所以加入任何Fruit的子类都会有问题,因为如果add Apple
的话,可能List extends Fruit>持有的对象是new ArrayList()
Apple的加入肯定是不行的,如果 如果add Jonathan
的话,可能List extends Fruit>持有的对象是new ArrayList()
Jonathan的加入又不合法,所以List extends Fruit> list 不能进行add
而List super Fruit> list 表示list持有的对象是Fruit的父类,下限是 Fruit,所以list中add Fruit或Fruit的子类是没有问题的
List extends Fruit> list = new ArrayList();
//list.add(new Apple());Error
//list.add(new Fruit());Error
List super Fruit> list = new ArrayList();
list.add(new Apple());//可以
list.add(new Fruit());//可以
List extends Fruit> list = new ArrayList();
list中为什么不能加入Fruit类和Fruit类的子类呢,原因是这样的
List extends Fruit>表示上限是Fruit,下面这样的赋值都是合法的
List extends Fruit> list1 = new ArrayList
List extends Fruit> list2 = new ArrayList();
List extends Fruit> list3 = new ArrayList
如果List extends Fruit>支持add方法的方法合法的话
list1可以add Fruit和所有Fruit的子类
list2可以add Apple和所有Apple的子类
list3可以add Jonathan和所有Jonathan的子类
这样的话,问题就出现了
List extends Fruit>所应该持有的对象是Fruit的子类,而且具体是哪一个
子类还是个未知数,所以加入任何Fruit的子类都会有问题,因为如果add Apple
的话,可能List extends Fruit>持有的对象是new ArrayList
Apple的加入肯定是不行的,如果 如果add Jonathan
的话,可能List extends Fruit>持有的对象是new ArrayList
Jonathan的加入又不合法,所以List extends Fruit> list 不能进行add
而List super Fruit> list 表示list持有的对象是Fruit的父类,下限是 Fruit,所以list中add Fruit或Fruit的子类是没有问题的
全部回答
- 1楼网友:洎扰庸人
- 2021-02-11 06:17
用int类型接受,规定接受的长度是3个字节不可以吗?
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯