泛型

本文探讨了泛型和多态在编程中的作用,解释了它们如何帮助代码更具通用性和灵活性。介绍了容器类、元组、生成器的概念,并讨论了泛型在方法和接口的应用。

多态是一种泛化机制。可以将方法的参数类型设为基类,那么该方法就可以接受从这个基类导出的任何类作为参数。

泛型实现了参数化类型的概念,使得代码可以应用于多种类型。

泛型出现的原因之一就是为了创建容器类。

容器:就是存放要使用的对象的地方,容器类是重要的类库之一。

暂时不指定类型,在此后决定具体使用什么类型。为此引入类型参数这一概念。其形式为:用尖括号括住,放在类名后面,在使用的时候,再用实际的类型替换此类型参数。

元组:指一组对象直接打包存储于其中的一个单一对象。这个容器对象允许读取其中的元素,但是不允许向其中放入新的对象。元组可以具有任意长度,元组中的对象可以是任意不同的类型。

public class TwoTuple<A, B>

<A, B>表明这是一个二维元组,能够持有两个对象。

利用继承机制可以实现长度更长的元组。

泛型也可以用于接口。

生成器:这是一种专门负责创建对象的类。它是工厂方法设计模式的一种应用。

就一般情况下,一个生成器只定义一种方法,该方法用以产生新的对象。

public interface Generator<T> { T next(); }

方法next()的返回类型是参数化的T。

基本类型无法作为类型参数,但是自动打包/拆包机制可以解决这个问题。

泛型方法

是否用于泛型方法与其所在的类是否是泛型没有关系,也就是说泛型方法与泛型类是可以完全相互独立存在的。

基本原则:无论何时,只要条件允许,就应该尽可能的使用泛型方法。对于一个static方法而言,无法访问泛型类的类型,跟进一步的表明,如果static方法需要使用泛型能力,就必须使其称为泛型方法。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值