泛型(java学习)

目录

1.泛型介绍:

2.泛型的好处:

3.泛型的语法

4.泛型的细节

5.自定义泛型

 6.自定义泛型接口

8.泛型的继承和通配符


1.泛型介绍:

1)泛型又称参数化类型,解决数据类型的安全性问题。

2)在类声明或实例化时只要制定好需要的类型即可。

3)Java类型可以保证如果程序在编译时没有发出警告,运行时就不会参数ClassCastException异常,代码也更加简洁、健壮。

4)泛型的作用是:可以在类声明时通过一个标识表示类中某个属性的类型,或者是某个方案的返回值的类型,或者是参数类型.

class Student<E>{//在类声明时通过一个标识表示类中某个属性的类型E name;//name的类型是定义Student对象时指定的,即在编译期间,就能确定E是什么类型。public Student(E name){//作为参数类型this.name=name;}public E fun(){//作为方法的返回值。return name;}
}

2.泛型的好处:

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

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

3)   不再提示编译警告.

3.泛型的语法

--泛型的声明:

--泛型的实例化:在类名后面指定类型参数的值

4.泛型的细节

1)泛型只能是引用类型

2)在指定泛型具体类型后,可以传入该类型或者子类类型。

3)在创建一个对象时,要求传入一个类型,但是程序员没有给出,则泛型默认为Object

5.自定义泛型

注:1)普通成员可以使用泛型(属性、方法)

     2)使用泛型的数组,不能进行初始化。

     3)静态方法中不能使用类的泛型(因为在类加载时,对象还未创建)

     4)泛型的类型,是在创建对象时确定的(因为创建对象时,需要指定确定类型)

     5)如果在创建对象时,没有指定类型,默认为Object.

 6.自定义泛型接口

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

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

       3)没有指定类型,默认为Object。

7.自定义泛型方法

注:1)泛型方法可定义在普通类中,也可定义在泛型类中

       2)当泛型方法被调用时,类型会确定

8.泛型的继承和通配符

1)泛型不具备继承性

例如以下写法是错误的. 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/798104.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[尚硅谷 flink] 基于时间的合流——双流联结(Join)

文章目录 8.1 窗口联结&#xff08;Window Join&#xff09;8.2 **间隔联结&#xff08;Interval Join&#xff09;** 8.1 窗口联结&#xff08;Window Join&#xff09; Flink为基于一段时间的双流合并专门提供了一个窗口联结算子&#xff0c;可以定义时间窗口&#xff0c;并…

实现通讯录(顺序表版本)

一、功能要求 &#xff08;1&#xff09;⾄少能够存储100个⼈的通讯信息 &#xff08;2&#xff09;能够保存⽤⼾信息&#xff1a;名字、性别、年龄、电话、地址等 &#xff08;3&#xff09;增加联系⼈信息 &#xff08;4&#xff09;删除指定联系⼈ &#xff08;5&#…

X年后,ChatGPT会替代底层程序员吗?

能不能替代&#xff0c;真的很难说&#xff0c;因为机器换掉人&#xff0c;这其实是一个伦理问题。 其实说白了&#xff0c;任何行业在未来都会被AI或多或少的冲击到&#xff0c;因为ChatGPT做为一个可以持续提升智能的AI&#xff0c;在某些方面的智能程度超过人类并不是什么难…

数据结构-基本概念

1.什么是数据结构&#xff1f; 数据 数据&#xff0c;是对客观事物的符号表示&#xff0c;在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。 结构 &#xff08;1&#xff09;线性结构&#xff08;比如图书目录文件&#xff0c;一对一的关系&#x…

Unity Meta Quest MR 开发(五):空间锚点

文章目录 &#x1f4d5;教程说明 此教程相关的详细教案&#xff0c;文档&#xff0c;思维导图和工程文件会放入 Spatial XR 社区。这是一个高质量 XR 开发者社区&#xff0c;博主目前在内担任 XR 开发的讲师。该社区提供专人答疑、完整进阶教程、从零到一项目孵化保姆服务&…

文件及相关文件函数的使用

目录 前言 文件的概述 文件类型 如何用C语言来操作文件呢&#xff1f; 文件缓冲区 文件的打开与关闭 文件的打开——fopen&#xff08;&#xff09;函数 文件的关闭——fclose&#xff08;&#xff09;函数 文件结束检测——feof()函数 文件的顺序读写 文件字符输出函…

kubernetes集群添加到jumpserver堡垒机里管理

第一步、在kubernetes集群中获取一个永久的token。 jumpserver堡垒机用api的来管理kubernetes&#xff0c;所以需要kubernetes的token&#xff0c;这个token还需要是一个永久的token&#xff0c;版本变更&#xff1a;Kubernetes 1.24基于安全方面的考虑&#xff08;特性门控Le…

JVM字节码与类的加载——class文件结构

文章目录 1、概述1.1、class文件的跨平台性1.2、编译器分类1.3、透过字节码指令看代码细节 2、虚拟机的基石&#xff1a;class文件2.1、字节码指令2.2、解读字节码方式 3、class文件结构3.1、魔数&#xff1a;class文件的标识3.2、class文件版本号3.3、常量池&#xff1a;存放所…

在 K8s 上跑腾讯云 Serverless 函数,打破传统方式造就新变革

目录 目录 前言 Serverless 和 K8s 的优势 1、关于Serverless 函数的特点 2、K8s 的特点 腾讯云 Serverless 函数在 K8s 上的应用对企业服务的影响 1、弹性扩展和高可用性 2、成本优化和资源利用 3、简化部署和管理 拓展&#xff1a;腾讯云云函数 SCF on K8s 番外篇…

HarmonyOS实战开发-如何实现蓝牙设备发现、配对、取消配对功能。

介绍 蓝牙技术是一种无线数据和语音通信开放的全球规范&#xff0c;它是基于低成本的近距离无线连接&#xff0c;为固定和移动设备建立通信环境的一种特殊的近距离无线技术连接。本示例通过ohos.bluetooth 接口实现蓝牙设备发现、配对、取消配对功能。实现效果如下&#xff1a…

计算机网络 实验指导 实验9

实验9 三层交换机综合实验 1.实验拓扑图 名称相连的接口IP地址网关PC1F0/3172.1.1.2/28172.1.1.1/28PC2F0/4172.1.1.18/28172.1.1.17/28PC3F0/5172.1.1.34/28172.1.1.33/28PC4F0/3172.1.1.3/28172.1.1.1/28PC5F0/4172.1.1.19/28172.1.1.17/28PC6F0/5172.1.1.35/28172.1.1.33/2…

ROS 2边学边练(16)-- 自定义msg和srv文件

前言 在前面的文章我们在学习主题&#xff08;topic&#xff09;和服务&#xff08;service&#xff09;通信方法时&#xff0c;使用的一直是ROS 2提供好的消息结构文件&#xff08;xxx.msg&#xff09;和服务结构文件&#xff08;xxx.srv&#xff09;&#xff0c;稀里糊涂的就…

编程新手必看,学习python中列表数据类型内容(9)

Python中的列表是一种可变的、有序的数据结构&#xff0c;它允许存储不同类型的数据项&#xff0c;并支持多种操作。具体如下&#xff1a; 创建列表&#xff1a;可以通过一对方括号[]来创建一个空列表&#xff0c;或者在方括号内放入初始元素来创建一个非空列表。例如&#xff…

链表实验.

#include<stdio.h> #include<stdlib.h>// 定义单链表节点结构体 struct Node {int data;struct Node* next; };struct Node* initList() {struct Node* list (struct Node*)malloc(sizeof(struct Node));list->data 0;list->next NULL;return list; }void…

特征提取算法

特征提取算法 0. 写在前边1. Harris算法1.1 写在前面1.2 Harris算法的本质1.3 Harris算法的简化 2. Harris3D2.1 Harris3D算法问题定义2.2 Harris3D with intensity2.3 Harris3D without intensity 3. ISS特征点的应用 0. 写在前边 本篇将介绍几种特征提取算法&#xff0c;特征…

笔记 | 软件工程:需求分析

1 需求分析 #需求分析 1.1 需求分析概述 初步软件需求存在的问题&#xff1a;不具体&#xff0c;不清晰&#xff0c;关系不明朗&#xff0c;存在潜在缺陷&#xff0c;没有区分不同软件需求&#xff08;有必要鉴别不同软件需求项的重要性差别&#xff0c;区分不同软件需求的开…

【C语言】——指针八:指针运算笔试题解析

【C语言】——指针八&#xff1a;指针运算笔试题解析 一、题一二、题二三、题三四、题四五、题五六、题六七、题七 一、题一 //程序输出结果是什么 int main() {int a[5] { 1,2,3,4,5 };int* ptr (int*)(&a 1);printf("%d, %d", *(a 1), *(ptr - 1));return…

揭开“栈和队列”的神秘面纱

前言 在线性表中不止有顺序表和链表&#xff0c;今天的主角就如标题所说--->认识栈和队列。把他们俩放一起总结是有原因的&#xff0c;还请看官听我娓娓道来~ 什么是栈&#xff1f; 栈&#xff08;stack&#xff09;是限定仅在表尾进行插入和删除操作的线性表 咱可以把栈理…

Pro版 v3.0首页DIY热区神器,让图片更全能!

Pro版v3.0新增了很多新功能&#xff0c;为了方便大家能快速了解使用&#xff0c;今天&#xff0c;我们就开始来逐步了解这些新功能。 在此次更新中&#xff0c;Pro版的首页DIY功能实现了全新重构升级&#xff0c;新增了DIY热区、视频、排行榜、积分商城、预售、签到组件&#…

【Hadoop技术框架-MapReduce和Yarn的详细描述和部署】

前言&#xff1a; &#x1f49e;&#x1f49e;大家好&#xff0c;我是书生♡&#xff0c;今天的内容主要是Hadoop的后两个组件&#xff1a;MapReduce和yarn的相关内容。同时还有Hadoop的完整流程。希望对大家有所帮助。感谢大家关注点赞。 &#x1f49e;&#x1f49e;前路漫漫&…