10,泛型

泛型

为什么使用泛型:

1保证数据一致性

2避免强转出错

3避免数据类型不一致的问题

4操作统一化

泛型格式:<无意义的字符> 一般放 <T> <E> <?>

泛型方法:

如果一个方法使用了泛型,会让该方法具有普适性。

语法格式4中:

权限修饰符 [static] <无意义的字符占位> 返回值类型 方法名字(T t) {return t;}

有返回值,有参数.

权限修饰符 [static] <无意义的字符占位> void 方法名字(T t){}

有参无返回值

权限修饰符 [static] <无意义的字符占位> T 方法名字(){}

无返回值有参数(这种没有意义)

权限修饰符 [static] <无意义的字符占位> void 方法名字(){}

无参无返回值

泛型类

语法格式:

class 类名 <无意义的占位符> {

}

1.在类名的后面加<T> 声明了一个类带有泛型的类

2.在实例化对象的时候,确定了泛型的数据类型

3.方法中如果带有泛型的时候,一定使用的是类带有泛型的类型

4.静态方法和类声明的泛型没有任何关系(

//一个类下面可以有静态方法。 //对象的创建的时候才确定泛型的类型。静态方法早于对象的创建 的 //所以静态方法中使用泛型的时候,和类定义的泛型没有关系 public static <E> void testStatic (E e) { System.out.println(e); }

5.泛型类的成员泛型方法两种写法的区别(

public <T> void printArgs(T t) {}//这种写法类的泛型和成员方法的泛型 没有任何关系

public void printArgs(T t) {}//这种写法泛型类是什么类型方法T就是什么类型

6.泛型类中也可以写普通的成员方法

自定义泛型在接口如何使用

语法格式:

interface 接口名字<T> {

}

实现类的各式:

class TestA<T> implements A<T>{}

剩下的该重写重写,和普通接口的用法一致

自定义泛型在抽象类中如何使用

语法格式:

public abstract 类名<T> {

}

继承格式:class 子类名<T> extends 父类名<T>{}

剩下的和普通的继承一样

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值