泛型详解【十分钟带你了解泛型基础知识点】

文章目录

  • 一、泛型介绍
  • 二、泛型的优点
  • 三、泛型使用细节
  • 四、自定义泛型
    • 1.泛型类
    • 2.泛型接口
    • 3.泛型方法
  • 总结


前言

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

一、泛型介绍

(1).泛型又称参数化类型,是jdk5.0出现的新特性,解决数据类型的安全性问题

(2).在类声明或实例化时,只要指定好需要的具体的类型即可

二、泛型的优点

(1).编译时,检查添加的元素的类型,提高了安全性

(2).减少了类转换的次数,提高效率

(3).不在提示编译警告

三、泛型使用细节

  1. 其中E只能是引用类型,而不能是基本数据类型

  2. 在给泛型指定类型后,可以传入该类型或其子类型

  3. 泛型的定义和使用形式有两种,一种是传统形式,还有一种是简化形式,在实际开发中往往简写,可以把右边的<>中可以省略不写,相当于交给编译器,推荐第二种写法

四、自定义泛型

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

1.泛型类

泛型类型用于类的定义中,被称为泛型类。通过泛型可以完成对一组类的操作对外开放相同的接口。最典型的就是各种容器类,例如如:List、Set、Map。

类声明后的<>中这个T被称为类型参数,用于指代任意类型,实际上这个T只是个代表,写什么都可以。表示此时的value1,value2都是在类定义时没有明确类型,只有在使用时才告知编译器类型。出于规范,类型参数用单个的大写字母来代替,常见如下:


2.泛型接口

泛型接口与泛型类的定义及使用基本相同

  1. 接口中,静态成员也不能使用泛型

  2. 泛型接口的类型,在继承接口或实现接口的时候确定

  3. 如果没有具体指定,就默认为Object//定义一个泛型接口
    泛型详解【十分钟带你了解泛型基础知识点】_第1张图片

3.泛型方法

此处的泛型方法指的是有自己的类型参数

  1. 泛型方法,可以定义在普通类中,也可以定义在泛型类中

  2. 泛型方法被调用时,类型会确定(自动确认)

  3. public void eat(E e){},修饰符后没有eat方法不是泛型方法,而是使用了泛型,这个方法应该是在泛型类当中

  4. 泛型方法可以使用类声明的泛型,也可以使用自己声明的泛型


总结

泛型使用时会把我们前面学过的基础全使用一遍,因此学习时不能记急躁,要会独立思考,心中对泛型的基础有个框架,进阶学习时才不会卡壳,加油!

你可能感兴趣的:(Java集合核心知识点,开发语言,java,数据结构,链表,算法)