黑马程序员技术交流社区
标题:
什么叫泛型啊 可以举些例子吗 他的具体作用是什么
[打印本页]
作者:
李健_8
时间:
2012-9-16 14:27
标题:
什么叫泛型啊 可以举些例子吗 他的具体作用是什么
本帖最后由 火火 于 2012-9-17 00:55 编辑
关于泛型
作者:
马睿
时间:
2012-9-16 14:42
通俗的讲,泛型就是模板……模板懂得吧?你往一个往一个模具里放水泥,水泥只能放那么多,而且只能是模板的造型
简单的例子:
例如arrayList<E>
其中E就是你要自己给出的模板,你想放什么类型就用什么
arrayList<Integer> list = new arrayList<Integer>
这样定义后list中,只能放入Integer类型了(不然放不下过多的水泥,可以这样理解,其他水泥样子规格不对)
以下为我个人笔记的一部分
泛型
<E>为泛型
1.类型泛型
class name<E>
{
public E method()
{
return E;
}
}
2.方法泛型
class name
{
public static <E> method(E parameter)
{
return E
}
}
注意方法泛型 <E>必须写在权限和static描述修饰符后面
如果是静态方法必须在static后面加上<E>(因为静态方法,传入参数必须也是静态类型)
3.接口泛型
interface name<E>
{
void method(E)
}
class studend implemnts name<String>
泛型限定
当不确定传入类型的时候可以< ?>以问号表达
注意泛型不可以用父子类多态
ArrayList<Person> p = new ArrayList<Student>();这句是错误的!!!!!!不可以
因为后者只能放入student而前者只能放person到集合之中
还有可以限定部分类型
<? extends>意思是可以传入E类型或者其子类,上限限定
<? super E>意思是可以传入super类(E的父类)也可以是E类,下限限定
作者:
李健_8
时间:
2012-9-17 00:04
谢谢啊 貌似有点小懂了了 但是好像不常用啊 在编程时
作者:
李健_8
时间:
2012-9-17 00:05
马睿 发表于 2012-9-16 14:42
通俗的讲,泛型就是模板……模板懂得吧?你往一个往一个模具里放水泥,水泥只能放那么多,而且只能是模板的 ...
谢谢啊 貌似有点小懂了了 但是好像不常用啊 在编程时
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2