在集合中的主要应用
- 泛型是通用类型的类,范型类对象可以表示多种不同的类的对象
- 集合是多个离散的对象组哼的单一的单元
- 在集合中的对象可以用范型类的对象表示
声明泛型类
- 泛型类是带有类型参数的类,类中有域和行为。范型类的定义形式:
//伪代码 class范型类<类型参数表列> { //类体 }
- 定义泛型类的对象
泛型类名[<实际类型表列>]对象名=new 泛型类名[<实际类型表列>]([形参表]) 或 泛型类名[<实际类型表列>]对象名=new 泛型类名[<>]([形参表]) 也可以用"?"代替"实际参数表列"
- 如果使用泛型,则可以保证每一个数组类对象中的元素都是同一类型
声明泛型接口
- 泛型接口的形式
//伪代码 interface 接口名<类型参数表列> { //... }
- 在实现接口时,也应该声明与接口相同的类型参数。
class 类名<类型参数表列> implements 接口名<类型参数表列> { //.. }
声明泛型方法
- 泛型方法(泛型方法可以定义在泛型类中,也可以定义在非泛型类中)
[访问限定词] [static]<类型参数表列> 方法类型 方法名([参数表列]) { //.... }
- 具有可变参数的方法(如printf方法)
//printf是具有可变参数的方法 System.out.printf("%d,%f\n",i,f); System.out.printf("x=%d,y=%d,z=%d",x,y,z); //具有可变参数的方法的定义形式 [访问限定词] <类型参数表列> 方法类型 方法名 (类型参数名... 参数名) { //...... }
泛型参数的限定
有时候只想接收指定范围内的类类型,过多的类型就可能会产生错误,这时可以对泛型的参数进行限定。类型限定的语法形式: 类型形式参数 extends 父类
"类型形式参数"是指声名泛型类时所声明的类型,"父类"表示只有这个类下面的子类才可以做实际类型