Java泛型
感觉是个重点
感觉是一个很重要的东西,很有必要记录下来,也觉得蛮有用的
泛型类
我认为是一个定义一个类,这个类里面的数据类型不是固定的,可以让这个类处理多种数据类型的数据
格式:
定义一个含有泛型的类,就是在类的名称后面加一个<E>,把数据的类型换成E就可以了,E也可以换成其他的,只要有尖括号就行
1 |
|
使用:
使用泛型类有两种方式,一种是不用泛型,直接使用类,另一种是使用泛型
1 |
|
泛型方法
定义一个含有泛型的方法,就是在修饰符后面加一个<E>,和类一样
格式:
修饰符 <泛型> 返回值类型 方法名(参数列表(使用泛型)){
}
1 |
|
泛型接口
定义一个泛型接口,里面的方法可以是泛型方法
格式:
1 |
|
实现类有两种:
实现类也使用泛型,相当与定义了一个含有泛型的类,创建对象的时候确定泛型的类型
在实现类的名字后面也有一个尖括号<O>1
2
3
4
5
6public class genericClass1<O> implements generic<O>{
@Override
public void method(O o) {
System.out.println("1重写接口方法" + o);
}
}使用:
1
2
3
4public static void main(String[] args) {
genericClass1<String> gc = new genericClass1<>();
gc.method1("~bia~");
}定义接口的实现类,实现接口,指定接口的泛型,实现类已经定义好使用什么数据类型
在实现类的名字后面没有尖括号<String>1
2
3
4
5
6public class genericClass2 implements generic<String>{
@Override
public void method(String s) {
System.out.println("2重写接口方法" + s);
}
}使用:
1
2
3
4public static void main(String[] args){
genericClass2 gc = new genericClass2();
gc.method("~pia~");
}
泛型的通配符 ?
不能在创建对象的时候使用,只能作为方法的参数使用
定义一个方法,传入的数组/集合数据类型不固定,全部输出
1 |
|
泛型这么难,肯定是块硬骨头,啃下来说不定对Java就有更深的了解了,况且为了总结一下泛型,把看过的课又看了一遍,算是复习了吧,脑子里对这玩意的了解更深刻了 ヾ(´∀`o)+