Java泛型概述
2020-11-24韩阳王昊天范晓娟河北农业大学
韩阳 王昊天 范晓娟 河北农业大学
关键字:Java 泛型 Java泛型基本操作
1 Java泛型概述
在JDK1.5中最明显的变化之一就是添加了对Java泛型的支持。泛型是指在定义类的时候不指定具体使用的数据类型,而是在外部声明或实例化对象的时候指定使用某些具体类(是具体的类而不是int、char之类的基本数据类型)。因此在引入Java泛型之后简化了Java程序设计,泛型解决;数据类型的安全性问题,增强了Java程序的健壮性。
2 java泛型基础内容
2.1 、泛型类定义
[权限:public等] class 类名称<泛型类型>{
[权限] 泛型类型 变量名称;
[权限] 泛型类型 方法名称(){};
[权限] 返回值类型声明 方法名称(泛型类型 变量){};
}
例如:
class Person private T name; private V age; public void setName(T name){}; public T getName(){}; public Person(T name,V age){}; } 泛型类中可以使用泛型标识同样也可以使用普通的数据类型,对此不一定都一致使用泛型标识。 泛型类与普通类的区别只是基本的数据类型改为尖括号包含的泛型类型。 泛型标识可以使用任意的字母表示,这里更多的使用了T和V表示泛型标识。 类名<具体类> 对象 = new类名<具体类>(); 例如: Person 具体类是指包装类或者String,而不是int,char,double之类的基本数据类型,由于java中有数据类型与类之间的自动装箱操作,所以使用具体类并不会增加操作的难度。 [权限] <泛型标识> 返回值类型 方法名([泛型标识 变量]){}; 例如: public [权限] 构造方法名称 ([泛型类型 变量名称]){}; 例如: public Person(T name,V age){this.name=name;this.age=age}; 其中的T,V就可以代表一些定义时的数据类型; Java中引入了通配符是“?”,“?”表示任意泛型类型。 例如:public void Person2(Person<?,?> user){}; 2.6.1 泛型接口的定义 [权限] interface 接口名<泛型标识>{}; 例如: Interface Person 泛型接口的定义多了尖括号和其中的泛型标识,泛型标识可以时多个,每个泛型标识之间用逗号隔开。 2.6.2 使用泛型接口 class 类名<泛型标识> implements 接口名<泛型标识>{}; 例如: class Person3 实现泛型接口的类时,泛型类中泛型标识个数要大于或等于泛型接口的中的泛型参数的个数,即接口继承类要继承接口的泛型标识。 class 类名称<? extends 具体类 >{}; class 类名称<? super 具体类>{}; 其中,范围上限extends指的是具体类和其子类在允许使用范围内。范围下限super指的是具体类和其父类在允许使用范围内。注意:Number类是(Byte、Short、Long、Integer、Float、Double)的父类。 Java泛型实现了不同数据类型之间的共享代码段。而且Java使用泛型后程序的安全性得到了很大提升,即避免了类型转化时异常的出现。因为在Java泛型的引入之后程序员书写程序的安全性得到了很大的提升。2.2 泛型对象定义
2.3 泛型方法
2.4 泛型的构造方法
2.5 通配符的使用
2.6 定义泛型接口及使用
2.7 受限泛型
3 结束语