java泛型接口泛型类泛型方法

java泛型接口泛型类泛型方法

ID:8805832

大小:38.00 KB

页数:5页

时间:2018-04-08

java泛型接口泛型类泛型方法_第1页
java泛型接口泛型类泛型方法_第2页
java泛型接口泛型类泛型方法_第3页
java泛型接口泛型类泛型方法_第4页
java泛型接口泛型类泛型方法_第5页
资源描述:

《java泛型接口泛型类泛型方法》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、泛型可提高代码的高扩展性和重用率.1、泛型的类型参数只能是类类型(包括自定义类),不能是简单类型。2、同一种泛型可以对应多个版本(因为参数类型是不确定的),不同版本的泛型类实例是不兼容的。3、泛型的类型参数可以有多个。4、泛型的参数类型可以使用extends语句,例如。习惯上称为“有界类型”。5、泛型的参数类型还可以是通配符类型。例如ClassclassType=Class.forName("java.lang.String");泛型可以用在接口,类方法,集合上面.泛型接口: interfacetestGenerics{

2、   TgetT(Tt);   Stringassume(Tt);  }泛型类: publicclassGenericsFoo{  privateTx;  publicGenericsFoo(Tx){  this.x=x;  }  publicTgetX(){  returnx;  }  publicvoidsetX(Tx){  this.x=x;  }  }使用来声明一个类型持有者名称,然后就可以把T当作一个类型代表来声明成员、参数和返回值类型。  当然T仅仅是个名字,这个名字可以自行定义。泛型方法: 是否拥有泛型方法,与其所在的类是否泛型没有关系。要定义泛

3、型方法,只需将泛型参数列表置于返回值前。如:  publicclassExampleA{  publicvoidf(Tx){  System.out.println(x.getClass().getName());  }使用泛型方法时,不必指明参数类型,编译器会自己找出具体的类型。泛型方法除了定义不同,调用就像普通方法一样。限制泛型的可用类型:  在上面的例子中,由于没有限制classGenericsFoo类型持有者T的范围,实际上这里的限定类型相当于Object,这和“Object泛型”实质是一样的。限制比如我们要限制T为集合接口类型。只需要这么做:  cl

4、assGenericsFoo,这样类中的泛型T只能是Collection接口的实现类,传入非Collection接口编译会出错。  注意:这里的限定使用关键字extends,后面可以是类也可以是接口。但这里的extends已经不是继承的含义了,应该理解为T类型是实现Collection接口的类型,或者T是继承了XX类的类型。  下面继续对上面的例子改进,我只要实现了集合接口的类型:  publicclassCollectionGenFoo{  priva

5、teTx;  publicCollectionGenFoo(Tx){  this.x=x;  }  publicTgetX(){  returnx;  }  publicvoidsetX(Tx){  this.x=x;  }  }通配符泛型: 为了解决类型被限制死了不能动态根据实例来确定的缺点,引入了“通配符泛型”,针对上面的例子,使用通配泛型格式为,“?”代表未知类型,这个类型是实现Collection接口。那么上面实现的方式可以写为:  publicclassCollectionGenFooDemo{  publicstatic

6、voidmain(Stringargs[]){  CollectionGenFoolistFoo=null;  listFoo=newCollectionGenFoo(newArrayList());  //现在不会出错了  CollectionGenFoolistFoo1=null;  listFoo=newCollectionGenFoo(newArrayList());  System.out.println("实例化成功!");  }  }  注意:  1、如

7、果只指定了,而没有extends,则默认是允许Object及其下的任何Java类了。也就是任意类。  2、通配符泛型不单可以向下限制,如,还可以向上限制,如,表示类型只能接受Double及其上层父类类型,如Number、Object类型的实例。  3、泛型类定义可以有多个泛型参数,中间用逗号隔开,还可以定义泛型接口,泛型方法。这些都泛型类中泛型的使用规则类似。

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

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

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