一:泛型类
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.如何使用静态泛型方法?
答:当静态的泛型方法定义在泛型类中时,静态泛型方法不可以使用类定义的泛型,否则会报异常
--未完待续--
|
|