chenjinkai

package fanxing;

import java.util.arraylist;

import java.util.list;

public class main {

/**

* @param args

* @throws illegalaccessexception

* @throws instantiationexception

*/

public static void main(string[] args) throws exception{

toy toy = new toy();

subtoy subtoy = new subtoy();

subtoy subtoy2 = new subtoy();

list list = new arraylist();//表示所持有对象是toy子类

list list1 = new arraylist();//表示所持有对象是toy的子类

//list.add(toy);错误的 因为list所持有的对象类型上限为toy,但是他不知道具体持有的对象类型,

//list.add(subtoy);错误的,理由同上

//list.add(subtoy2);错误的,理由同上

//list1.add(toy);错误的 因为list1所持有的对象类型上限为toy,但是他不知道具体持有的对象类型,

//list1.add(subtoy);错误的,理由同上

//list1.add(subtoy2);错误的,理由同上

list list2 = new arraylist();//所持有对象为toy的超类,下限为toy,所以可以add() toy及toy的子类

list2.add(toy);

list2.add(subtoy);

list2.add(subtoy2);

//list list3 = new arraylist(); 错误的,所持有对象为toy的超类,下限为toy,

//所以不可以超过下限toy,将arraylist泛型指定为subtoy

list list4 = new arraylist();//所持有对象为subtoy的超类,下限为subtoy ,

//可以将arraylist泛型指定为toy

//list4.add(toy); 错误的,因为虽然持有对象为subtoy的超类,但是容器不知道具体的类型是超类还是子类,所以不能放入超类,但是子类的话就可以的

list4.add(subtoy);

list4.add(subtoy2);

list list5 = new arraylist();//所持有对象为subtoy的超类,下限为subtoy ,

//可以将arraylist泛型指定为subtoy

//list5.add(toy); 错误的,理由同list4

list5.add(subtoy);

list5.add(subtoy2);

//list list6 = new arraylist(); 错误的,所持有对象为subtoy的超类,下限为subtoy ,

//所以持有的对象可能为toy,也可能为subtoy ,也就不能将具体的实现的泛型指定为subtoy2

}

}


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值