APP下载

Java泛型概述

2020-11-24韩阳王昊天范晓娟河北农业大学

数码世界 2020年3期
关键词:数据类型名称定义

韩阳 王昊天 范晓娟 河北农业大学

关键字: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表示泛型标识。

2.2 泛型对象定义

类名<具体类> 对象 = new类名<具体类>();

例如:

Person

具体类是指包装类或者String,而不是int,char,double之类的基本数据类型,由于java中有数据类型与类之间的自动装箱操作,所以使用具体类并不会增加操作的难度。

2.3 泛型方法

[权限] <泛型标识> 返回值类型 方法名([泛型标识 变量]){};

例如:

public

2.4 泛型的构造方法

[权限] 构造方法名称 ([泛型类型 变量名称]){};

例如:

public Person(T name,V age){this.name=name;this.age=age};

其中的T,V就可以代表一些定义时的数据类型;

2.5 通配符的使用

Java中引入了通配符是“?”,“?”表示任意泛型类型。

例如:public void Person2(Person<?,?> user){};

2.6 定义泛型接口及使用

2.6.1 泛型接口的定义

[权限] interface 接口名<泛型标识>{};

例如:

Interface Person

泛型接口的定义多了尖括号和其中的泛型标识,泛型标识可以时多个,每个泛型标识之间用逗号隔开。

2.6.2 使用泛型接口

class 类名<泛型标识> implements 接口名<泛型标识>{};

例如:

class Person3

实现泛型接口的类时,泛型类中泛型标识个数要大于或等于泛型接口的中的泛型参数的个数,即接口继承类要继承接口的泛型标识。

2.7 受限泛型

class 类名称<? extends 具体类 >{};

class 类名称<? super 具体类>{};

其中,范围上限extends指的是具体类和其子类在允许使用范围内。范围下限super指的是具体类和其父类在允许使用范围内。注意:Number类是(Byte、Short、Long、Integer、Float、Double)的父类。

3 结束语

Java泛型实现了不同数据类型之间的共享代码段。而且Java使用泛型后程序的安全性得到了很大提升,即避免了类型转化时异常的出现。因为在Java泛型的引入之后程序员书写程序的安全性得到了很大的提升。

猜你喜欢

数据类型名称定义
严昊:不定义终点 一直在路上
基于SeisBase模型的地震勘探成果数据管理系统设计
线上众筹产品的特征分析与研究
沪港通一周成交概况
沪港通一周成交概况
沪港通一周成交概况
沪港通一周成交概况
相似度计算及其在数据挖掘中的应用
成功的定义
修辞学的重大定义