最新消息:阿里云双12优惠,史上最低折扣。

泛型是什么?它的由来以及使用方法

服务器租用 aliyun 161浏览

sql server 2000是什么?sql server 2000命令大全

结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统

java泛型特性的了解,很多时候是从集合对象接触到的,今天云小编带大家一起去深入的了解泛型的缘由和使用方式!

01、泛型的由来

小编想告诉大家的是:泛型的产生本质是来源于软件设计!

在软件设计的过程中经常会用到容器类,容器类代码都一样只是数据类型不同,如果能够让一种类型容纳所有类型,就可以实现代码重用,但是没有一种类型可以容纳所有类型,为了解决容器的问题,由此就产生了泛型设计。

由此可见,泛型是一个不确定的参数类型,即“参数化类型”!

泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用。

那么怎么使用泛型,进行软件设计呢?

02、使用方式

泛型有三种使用方式,分别为:泛型类泛型接口泛型方法

相关推荐文章《DB是什么文件?它可以删除吗》

2.1、泛型类

泛型类型用于类的定义中,典型的就是各种容器类,如:List、Set、Map。

最普通的自定义泛型类

/**

* 此处T可以随便写为任意标识,常见的如T、E、K、V等形式的参数常用于表示泛型

* 在实例化泛型类时,必须指定T的具体类型

*/

public class Generic<T>{

/**key这个成员变量的类型为T,T的类型由外部指定*/

private T key;

/**泛型构造方法形参key的类型也为T,T的类型由外部指定*/

public Generic(T key) {

this.key = key;

}

/**泛型方法getKey的返回值类型为T,T的类型由外部指定*/

public T getKey(){

return key;

}

}

传参方式

//泛型的类型参数只能是类类型(包括自定义类),不能是简单类型

//传入的实参类型需与泛型的类型参数类型相同,即为Integer.

Generic<Integer> genericInteger = new Generic<Integer>(12345678);

//传入的实参类型需与泛型的类型参数类型相同,即为String.

Generic<String> genericString = new Generic<String>(“hello”);

System.out.println(“泛型测试”,”key is ” + genericInteger.getKey());

System.out.println(“泛型测试”,”key is ” + genericString.getKey());

输出结果

泛型测试: key is 12345678

泛型测试: key is hello

定义的泛型类,就一定要传入泛型类型实参么?

并不是这样,在使用泛型的时候如果传入泛型实参,则会根据传入的泛型实参做相应的限制,此时泛型才会起到本应起到的限制作用。如果不传入泛型类型实参的话,在泛型类中使用泛型的方法或成员变量定义的类型可以为任何的类型。

推荐相关应用:弹性公网IP   虚拟专网VPN

设计泛型的初衷,主要是为了解决Java容器无法记忆元素类型的问题,由于Java设计之初并不知道会往容器中存放什么类型的元素,因此元素类型都设定为Object,这样就什么东西都能放了!

转载请注明:小猪云服务器租用推荐 » 泛型是什么?它的由来以及使用方法