最近看泛型的时候有个疑惑,感觉泛型和多态使用场景很像,现在有点混淆这两个概念,既然已经有了多态的概念,为什么又会提出泛型,它们的使用场景是什么呢?什么时候使用多态,什么时候使用泛型?
这是两个不同的扩展维度
需要用基类对象调用到子类重载的方法的是否 利用多态特性
需要一个处理逻辑处理各种不同的数据类型 利用泛型
多态:是一种面向接口编程思想。例如:animal类是一个接口或抽象类,定义了动物类具有的公共方法和属性。当具体到具体动物时都实现该接口。
这个时候如果某个方法的参数需要使用animal类作为参数时,就可以传递不同实现类。
型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。
http://www.cnblogs.com/yilinglingyi/p/4069715.html
http://ask.csdn.net/questions/364162 看我在这里的回答。
泛型是多态的一种,多态除了泛型,还有函数重载、函数重写、接口等
有本书,叫<>,专门回答你这种问题