泛型程序设计

泛型程序设计

ID:38061830

大小:40.00 KB

页数:3页

时间:2019-05-25

泛型程序设计_第1页
泛型程序设计_第2页
泛型程序设计_第3页
资源描述:

《泛型程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、泛型程序设计1.所谓泛型就是将类型也作为一种参数,来进行指定(类型参数指定的类型中不包括基本类型)。2.没有使用泛型时,存在的问题:(1)声明创建列表时,就不能告诉系统,列表中将要存放何种类型的对象。(2)每次从列表中取出对象时,都必须引用进行强制类型转换,因为没有使用泛型的列表将任何对象都作为java.lang.Object类型返回。3范型类:把类型作为参数,让类定义对象时确定范型类型。4.泛型类或接口的声明:(1)语法:publicclass类名<类型变量>{类体}注:类型变量一定放在类型的后面。(2)示例:packageee;class

2、MyValue{privateTvalue1;privateUvalue2;publicTgetValue1(){returnvalue1;}publicvoidsetValue(Tvalue1,Uvalue2){this.value1=value1;this.value2=value2;}publicUgetValue2(){returnvalue2;}}publicclassTest{publicstaticvoidmain(String[]args){MyValuemv1=newMyValue<

3、String,Integer>();mv1.setValue("我是孙利军",8888);System.out.println("第一个元素为:"+mv1.getValue1()+""+"第二个元素为:"+mv1.getValue2());MyValuemv2=newMyValue();mv2.setValue(8888,"我是孙利军");System.out.println("第一个元素为:"+mv2.getValue1()+""+"第二个元素为:"+mv2.getVa

4、lue2());}}5.泛型方法的开发:(1)语法:publicstatic<类型变量>返回类型方法名(参数列表{方法体})(2)泛型方法既可以在不同类中定义,也可以在泛型类中定义。泛型类与泛型方法的区别:泛型方法的类型参数声明要放在方法返回类型声明之前,而泛型类则必须放在类声明之后。(3)示例:packageee;publicclassTest{//定义泛型方法publicstaticTgetLast(T[]a){returna[a.length-1];}publicstaticvoidmain(String[]args){Strin

5、g[]str={"这是第一个元素","这是第二个元素","这是第三个元素"};Stringsrc=getLast(str);System.out.println("最后一个元素为:"+src);}}(4)调用泛型方法时,可以明确给出泛型参数的类型,也可以不明确给出,此时系统自动调用。6.类型变量的限制(1)如果希望类型变量的类型有一定的范围,而不是任何类型都可以,则需要借助于:类型变量extends限定类型序列。限定类型序列中可以有多个类型,这些类型可以是类,也可以是接口,多个类型之间用”&”分割(注意:限定类型序列中只能有一个类,可以有多个

6、接口,如果限定类型中有类,则必须把类放在第一个)7.泛型通配符的使用:(1)泛型参数的继承与普通类的继承不同,如果A是B的子类,则G并不可以看做G,如果想要实现这样的效果,则必须借助于通配符”?”.(2)示例:packageee;importjava.util.ArrayList;publicclassTest{publicstaticvoidprintMyValue(ArrayListmv){System.out.println("该列表中的值为:"+mv);}publicstaticvoidmain(String[]ar

7、gs){ArrayListas=newArrayList();for(inti=0;i<10;i++){as.add(i+"");}printMyValue(as);}}注:ArrayList表示可以接受ArrayList<任意具体类型>的参数,如但如果反过来,将传给就不行了。(3)泛型通配符使用时的注意事项:①泛型通配符只能用于引用的声明中,不可以在创建对象时使用。②不可以使用采用了泛型通配符的引用调用使用了泛型参数的方法。8.有限制的通配符:(1)格式:?exte

8、nds类名或接口名;表示泛型通配符能够匹配的类型必须是指定类及其子类,或为指定接口或其子接口。9.注意:1-范型类所生成的对象的规定范型不同,则不能相互传引用Obj

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。