泛型(java学习)

news2024/10/7 9:29:18

目录

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.coloradmin.cn/o/1574870.html

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

相关文章

5.3 用栈翻转数组,动态规划求斐波那契数列

5.3 用栈翻转数组&#xff0c;动态规划求斐波那契数列 1. 用栈翻转数组 assume cs:code,ds:data,ss:stack data segmentarr dw 1111h,2222h,3333h,4444h,5555h,6666h,7777h,8888hres db 800 dup(0) data endsstack segmentdb 100 dup(0) stack endscode segmentstart:mov ax,…

计算机视觉入门:开启图像理解之旅

&#x1f9d1; 作者简介&#xff1a;阿里巴巴嵌入式技术专家&#xff0c;深耕嵌入式人工智能领域&#xff0c;具备多年的嵌入式硬件产品研发管理经验。 &#x1f4d2; 博客介绍&#xff1a;分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向的学习指导…

【算法篇】三道题理解算法思想——认识BFS

BFS&#xff08;宽搜&#xff09; 宽度优先遍历和深度优先遍历组成了大家熟悉的搜索算法&#xff0c;这两种算法也是蓝桥杯之类竞赛题的常考思想&#xff0c;正巧马上蓝桥杯临近&#xff0c;博主也是刷了很多BFS相关的题型&#xff0c;在这篇文章中会从力扣上选取三道简单的宽搜…

小象超市(原美团买菜) 的大屏图表

文章目录 概要技术细节技术名词解释小结 概要 20203年12月1日&#xff0c;美团旗下自营零售品牌“美团买菜”升级为全新品牌“小象超市”。 &#xff0c;“小象超市”坚持美团自营零售模式&#xff0c;通过在社区设立的集存储、分拣、配送为一体的便民服务站&#xff0c;为社区…

关于16:9和4:3的有关知识,看这篇文章就差不多了

序言 在你拍照或录制视频之前,你需要考虑使用哪个纵横比。最常见的两种纵横比是16:9和4:3,但哪一种最适合你? 16:9的纵横比最适合视频,因为宽度比高度宽78%,这使你更容易在水平方向上适应更多画面,同时优化视频以适应现代屏幕。 同时,4:3的纵横比更适合摄影,因为宽度…

书籍《笔记的方法》读后感

读完《笔记的方法》有几周的时间&#xff0c;书里有些记录的内容&#xff0c;觉得非常有价值的&#xff0c;自己的观点&#xff0c;当下读书&#xff0c;其实并没有那么高大尚&#xff0c;就是存粹陶冶下情操&#xff0c;读书还是有一定作用的&#xff0c;毕竟看书只能慢慢来&a…

【PDF-XSS攻击】Java项目-上传文件-解决PDF文件XSS攻击

文章目录 背景解决pdfbox依赖控制器代码PdfUtils工具类 验证最后源码参考 背景 上传xss-pdf造成存储型xss因为在浏览器直接预览的PDF&#xff0c;而不是预览&#xff0c;所以安全部门认为会有XSS漏洞 解决 安全部门修复建议 1、根据白名单的标签和属性对数据进行过滤&#…

C++后端程序员如何在缺乏相关外包项目中寻找赚取外快的途径

作为一位专业的C后端程序员&#xff0c;你拥有扎实的技术功底和丰富的编程经验&#xff0c;然而在寻求外包项目的道路上&#xff0c;可能时常会发现市场上的项目并不都与C直接相关。但这并不意味着你就无法利用自己的技能来获取额外收入。本文将为你揭示一些即使在当前环境下&a…

力扣热题100_链表_138_随机链表的复制

文章目录 题目链接解题思路解题代码 题目链接 138. 随机链表的复制 给你一个长度为 n 的链表&#xff0c;每个节点包含一个额外增加的随机指针 random &#xff0c;该指针可以指向链表中的任何节点或空节点。 构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成&a…

【算法】动态规划练习(一)

目录 1137. 第 N 个泰波那契数 分析 代码 面试题 08.01. 三步问题 分析 代码 746. 使用最小花费爬楼梯 分析 代码 泰波那契序列 Tn 定义如下&#xff1a; T0 0, T1 1, T2 1, 且在 n > 0 的条件下 Tn3 Tn Tn1 Tn2 给你整数 n&#xff0c;请返回第 n 个泰波…

软件测试人员如何避免成为“背锅侠”

作为一名软件测试工程师&#xff0c;我们的角色可以算是“战场上的后勤”&#xff0c;战役的胜败和所有团队人员都息息相关。 但是难免碰到战役失败后&#xff0c;很多团队互相推脱的局面&#xff0c;而测试人员就是所有团队中的弱势群体&#xff0c;自然是首当其冲的背锅侠&a…

34.Python从入门到精通—Python3 正则表达式检索和替换

34.从入门到精通&#xff1a;Python3 正则表达式检索和替换 repl 参数是一个函数 正则表达式对象 正则表达式修饰符 - 可选标志 正则表达式模式* 正则表达式实例 检索和替换repl 参数是一个函数正则表达式对象正则表达式修饰符 - 可选标志正则表达式模式*正则表达式实例 检索和…

JAVA并发编程(一)

JAVA并发编程&#xff08;一&#xff09; 1.1JAVA线程API 1.1.1currentThread package com.lisus2000.thread;/** * 当前线程 * */ public class Test07 extends Thread {public Test07() {System.out.println("new Test07()......" Thread.currentThread().getNa…

全网短剧搜索前端源码开源分享可改自己的接口

全网短剧搜索前端源码 内含7000短剧资源(不支持在线播放&#xff09; 源码全开源&#xff0c;可以修改成自己的接口 178、226、347行修改 源码免费下载地址抄笔记 (chaobiji.cn)https://chaobiji.cn/

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

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

小秦网站部署上线

叮&#xff5e;您有一份消息&#xff0c;请注意查收&#xff01; 小秦个人网站终于上线了&#xff1a; 网站主要有&#xff1a;免费听歌、看小姐姐、AI女友、留言板等功能&#xff0c;建议收藏、收藏、再收藏、重要事情说三遍&#xff01;&#xff01;&#xff01; 网站&#x…

【Angular性能优化】项目8版本加载速度缓慢、白屏时间、首页渲染性能优化方案

前言 随着业务的代码一点点增加,加上Angular的项目本身就比 vue、react 的重一些,随之而来的启动速度,更改文件后编译速度,以及打包速度也会变慢,于是乎想着优化下我们的项目。 本文章主要说的是 : 打包Angular项目的一些配置,性能优化方面的方案打包后,用户进入页面…

vitepress系列-02-设置自定义的首页

文章目录 设置自定义的首页进阶版设置首页 设置自定义的首页 初始首页效果&#xff1a; 设置成自己的首页&#xff0c;更改config.mts和 docs/index.md文件&#xff1a; 设置版权 export default defineConfig({lang: en-US,title: "东东爱编码的技术博客",descrip…

Linux进程状态深度解析:探索进程的生命周期

文章目录 一、引言1、进程的概念与重要性2、Linux系统下进程状态的意义3、进程状态与系统性能的关系 二、Linux下进程状态概述1、Linux进程状态的分类2、进程状态信息的获取方法 三、Linux下进程状态详解1、运行状态&#xff08;Running&#xff09;2、可中断睡眠状态&#xff…

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

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