黑马程序员技术交流社区
标题:
毕老师视频笔记之泛型
[打印本页]
作者:
骑着毛驴去赶
时间:
2014-3-16 22:07
标题:
毕老师视频笔记之泛型
一:泛型类
1.什么是泛型类?
答:例如class GenericDemo<QQ>
解释:<>中的参数可以是任意的
2:泛型的应用
当类中是用的引用数据类型不确定的时候,早起是使用Object并强转来实现的,现在定义了泛型实现功能的扩展,基本数据类型不参与
3:泛型的出现将错误有运行时期转换到了编译时期
泛型类实例:
class worker
{
}
class Student
{
}
class GenericDemo<QQ>
{
private QQ q;
public QQ getQQ()
{
return q;
}
public void setQQ(QQ qq)
{
this.q =qq;
}
}
main:
GenericDemo<Worker> gd = new GenericDemo<Worker>();
gd.setQQ(new Worker());
Worker w=gd.getQQ();
复制代码
二:泛型方法
1.什么是泛型方法?
答:例如
class GenericMethod
{
public <T> void show(T t)
{
sysout(t);
}
}
复制代码
泛型方法的定义格式:泛型在定义时<T>一定要定义在返回值的前面
2.泛型方法有什么好处?
答:泛型类定义的泛型在整个类中都有效,泛型类定义的泛型如果类型一确定,那么其里面的所有使用该类型的方法类型就统一了,
当我们并不想让所有方法的类型都统一,比如我定义了一个show()方法用来打印我传递进去的值,可是当我第一传入的是Integer类型
第二次传入的String类型的话就会爆发异常,所以此时我们就可以用泛型方法来解决这种问题
3.泛型方法的实例:
class GenericMethod
{
public <T> void show(T t)
{
sysout(t);
}
}
main:
GenericMethod gm = new GenericMethod();
gm.show("abc");
gm.show(123);
复制代码
三:静态的泛型方法
1.什么是静态的泛型方法?
答:例如:
public static <T> void show(T t)
{
}
2.如何使用静态泛型方法?
答:当静态的泛型方法定义在泛型类中时,静态泛型方法不可以使用类定义的泛型,否则会报异常
--未完待续--
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2