当前位置: 首页 > article >正文

面向对象高级(枚举泛型)

3.1 认识枚举3.1.1 认识枚举、枚举的原理枚举是一种特殊的类它的格式是public enum 枚举类名{ 枚举项1,枚举项2,枚举项3; }3.1.2 枚举深入既然枚举是一个类的话我们能不能在枚举类中定义构造器、成员变量、成员方法呢答案是可以的。来看一下代码吧public enum A{ //定义枚举项 X,Y,Z(张三); //枚举项后面加括号就是在执行枚举类的带参数构造方法。 //定义空构造器 A(){ } //成员变量 private String name; //定义带参数构造器 A(String name){ this.namename; } //成员方法 public String getName(){ return name; } ... }public class Test{ public static void main(String[] args){ //获取枚举A类的枚举项 A a1 A.X; A a2 A.Y; A a3 A.Z; // 获取X当前的位置 System.out.println(a2.ordinal()); ​ // 获取Z后的字符串名称 System.out.println(a3.getName()); } }虽然枚举类中可以像类一样写一些类的其他成员但是一般不会这么写如果你真要这么干的话到不如直接写普通类来的直接。枚举类的特点: 枚举类的第一行只能罗列一些名称这些名称都是常量并且每个常量记住的都是枚举类的一个对象。 枚举类的构造器都是私有的写不写都只能是私有的因此枚举类对外不能创建对象。 枚举都是最终类不可以被继承。 枚举类中从第二行开始可以定义类的其他各种成员。 编译器为枚举类新增了几个方法并且枚举类都是继承java.lang.Enum类的从enum类也会继承到一些方法。3.2 枚举的应用场景枚举一般表示一组信息然后作为参数进行传输。这里我们就可以先定义一个枚举类用来表示男生、或者女生public class Constant{ BOY,GRIL }再定义一个测试类完成用户进入系统后的选择public class Test{ public static void main(String[] args){ //调用方法传递男生 provideInfo(Constant.BOY); } // 参数是根据用户选择的性别来进行判断 public static void provideInfo(Constant c){ switch(c){ case BOY: System.out.println(展示一些信息给男生看); break; case GRIL: System.out.println(展示一些信息给女生看); break; } } }最终再总结一下枚举的应用场景枚举一般表示几个固定的值然后作为参数进行传输。总结:1. 选择定义一个一个的常量来表示一组信息并作为参数传输参数值不受约束。2. 选择定义枚举表示一组信息并作为参数传输代码可读性好参数值得到了约束对使用者更友好建议使用!泛型4.1 认识泛型所谓泛型指的是在定义类、接口、方法时同时声明了一个或者多个类型变量如E称为泛型类、泛型接口、泛型方法、它们统称为泛型。泛型的好处泛型提供了在编译阶段约束所能操作的数据类型并自动进行检查的能力这样可以避免强制类型转换及其可能出现的异常。泛型的本质把具体的数据类型传递给类型变量。4.2 自定义泛型类自定义泛型类的格式如下//这里的T,W其实指的就是类型变量可以是一个也可以是多个。 修饰符 class 类名类型变量, 类型变量{ } 注意类型变量建议用大写的英文字母常用的有E、T、K、V 等4.3 自定义泛型接口泛型接口其实指的是在接口中把不确定的数据类型用类型变量表示。定义格式如下//这里的类型变量一般是一个字母比如E 修饰符 interface 接口名类型变量, 类型变量, ...{ }4.4 泛型方法泛型方法的格式修饰符 泛型变量,泛型变量,... 返回值类型 方法名(形参列表){ }下图中在返回值类型和修饰符之间有T定义的才是泛型方法, 后边方法的E是用类的类型变量所以不是泛型方法。4.5 泛型限定泛型限定的意思是对泛型的数据类型进行范围的限制。有如下的三种格式? 表示任意类型? extends 数据类型 表示指定类型或者指定类型的子类? super 数据类型 表示指定类型或者指定类型的父类4.6 泛型擦除也就是说泛型是工作在编译阶段的一旦程序编译成class文件class文件中就不存在泛型了这就是泛型擦除。而且泛型只支持引用数据类型不支持基本数据类型。把下面的代码的字节码进行反编译看效果:public class Test { public static void main(String[] args) { //泛型是工作在编译阶段的一旦程序编译成class文件class文件中就不存在泛型了这就是泛型擦除。 ArrayListString list new ArrayList(); list.add(柳岩); list.add(宝强); String name list.get(0); System.out.println(name); ​ //泛型不支持基本数据类型只能支持对象类型引用数据类型。 // ArrayListint list new ArrayList(); } }

相关文章:

面向对象高级(枚举泛型)

3.1 认识枚举3.1.1 认识枚举、枚举的原理枚举是一种特殊的类,它的格式是:public enum 枚举类名{枚举项1,枚举项2,枚举项3; }3.1.2 枚举深入既然枚举是一个类的话,我们能不能在枚举类中定义构造器、成员变量、成员方法呢?答案是可以…...

LLM系列:1.python入门:10.函数

函数 一.函数基础 1. def - 定义与封装函数 作用:定义一个自定义函数,封装特定的处理逻辑。函数体内最终返回(return)的不是局部变量本身,而是局部变量指代的对象。 def function_name(param1, param2):""&q…...

微软宣布Windows 11 25H2全部漏洞已解决

据月初Windows Central / Neowin 等消息报道Microsoft Learn(Release Health 页面)所有 Known Issues → Resolved根据微软官方文档,Windows 11 目前已无任何漏洞,所有已知的影响操作系统的问题均已解决。​ ​​ ​版本号&#x…...

别再只会用find(X)了!Matlab数据查找的5个高阶用法,效率翻倍

别再只会用find(X)了!Matlab数据查找的5个高阶用法,效率翻倍 在数据分析领域,Matlab的find函数就像瑞士军刀中的主刀——基础但不可或缺。但许多工程师在使用了几年后,依然停留在find(X>0)这样的基础查询层面,这就像…...

2026届最火的十大降AI率神器横评

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 对于有效降低文本人工智能生成特征而言,能够采取下面这些系统性指令策略。其中其…...

跨境合同怎么签?Docusign国际文件签署的5个隐藏技巧

跨境合同签署的5个Docusign高阶技巧:时区、多语言与合规实战 跨国业务合作中,电子签约已成为企业提升效率的关键工具。作为全球领先的电子签名平台,Docusign不仅提供基础的签署功能,更隐藏着一系列专为跨境场景设计的高级特性。本…...

倒计时37天!2026奇点大会AI问答赛道TOP3方案首次解密:如何用200行代码实现99.2%语义对齐率?

第一章:倒计时37天!2026奇点大会AI问答赛道TOP3方案首次解密:如何用200行代码实现99.2%语义对齐率? 2026奇点智能技术大会(https://ml-summit.org) 在2026奇点大会AI问答赛道中,冠军团队“SemAlign”凭借一套轻量级、…...

DownKyi:3分钟掌握B站视频下载,轻松构建个人离线资源库

DownKyi:3分钟掌握B站视频下载,轻松构建个人离线资源库 【免费下载链接】downkyi 哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去…...

2026年美容店广告灯箱实力厂商推荐,亮欣灯箱十八年生产经验赋能品牌形象升级

美容行业形象升级的关键:专业广告灯箱的价值凸显在美容行业竞争日益激烈的当下,门店形象成为吸引顾客的第一道关卡。美容店广告灯箱作为品牌视觉传达的重要载体,不仅承担着店铺标识功能,更直接影响消费者对品牌专业度的认知。广州…...

前端 PDF 导出:从文件流下载到自动分页

🧑‍💻 写在开头 点赞 收藏 学会🤣🤣🤣 在工作中,我们经常会遇到需要生成 PDF 的业务,比如合同、报告等。 前后端合作 对于前端来说,最省事的就是后端生成 PDF 文件,前…...

从零到一:基于VSCode与PlatformIO的ESP8266双框架(Arduino/RTOS_SDK)开发环境全攻略

1. 环境准备:打造ESP8266开发基石 第一次接触ESP8266开发时,我花了整整三天时间在环境配置上踩坑。现在回想起来,如果能有一份详尽的指南,至少能节省70%的时间。下面我就把验证过的完整环境搭建方案分享给大家,从Pytho…...

面试官最爱问的哈希表实战:用C++手撕‘存在重复元素II’和‘字母异位词分组’

哈希表在算法面试中的高阶应用:从解题到表达的全方位突破 在技术面试中,哈希表相关的题目几乎成为必考项。面试官不仅考察候选人的编码能力,更关注问题拆解、优化思路和沟通表达。本文将聚焦两道经典题目——"存在重复元素II"和&qu…...

openEuler 22.03下5分钟搞定Docker安装与镜像加速(华为云镜像源实测)

openEuler 22.03下5分钟搞定Docker安装与镜像加速(华为云镜像源实测) 在国产操作系统生态快速发展的今天,openEuler作为一款面向数字基础设施的开源操作系统,正受到越来越多开发者的关注。对于需要在openEuler上快速搭建容器化环境…...

Cursor Pro激活技术深度解析:3大核心技术实现与实战指南

Cursor Pro激活技术深度解析:3大核心技术实现与实战指南 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your t…...

5G NR调度器:从帧结构到资源分配的实战解析

1. 5G NR调度器入门:从概念到实战 第一次接触5G NR调度器时,我被各种术语搞得晕头转向。直到在实际项目中调试基站时,才真正理解调度器就像交通指挥中心——它要确保每个用户设备(UE)的数据包都能准时、高效地到达目的…...

如何用Jasminum插件3分钟搞定中文文献管理:Zotero终极效率提升指南

如何用Jasminum插件3分钟搞定中文文献管理:Zotero终极效率提升指南 【免费下载链接】jasminum A Zotero add-on to retrive CNKI meta data. 一个简单的Zotero 插件,用于识别中文元数据 项目地址: https://gitcode.com/gh_mirrors/ja/jasminum 还…...

免费论文AIGC检测使用指南:原理实操全攻略

最近不少同学都在问,写论文时用AI辅助生成的内容会不会被查出来?有没有靠谱的免费检测工具?作为过来人,我特别理解大家的焦虑。毕竟现在AI写作工具这么普及,但学校对学术诚信的要求也越来越严格。今天我们就来详细聊聊…...

哔哩下载姬DownKyi:如何免费解锁B站全画质视频下载的终极方案

哔哩下载姬DownKyi:如何免费解锁B站全画质视频下载的终极方案 【免费下载链接】downkyi 哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去水印等…...

2026中国GEO行业生态友好发展白皮书

2026中国GEO行业生态友好发展白皮书:以EFI模型构建行业规范化发展新基准一、摘要2025年全球GEO行业市场规模超120亿美元,中国以480亿元规模占全球55.4%份额,成全球核心增长极。生成式AI搜索工具占全球30%搜索市场份额,GEO从小众技…...

别再只看RMS了!Zemax光学设计里,MTF曲线才是成像质量的‘照妖镜’

别再只看RMS了!Zemax光学设计里,MTF曲线才是成像质量的‘照妖镜’ 在光学设计领域,许多工程师习惯性地将RMS波前误差作为评判系统性能的黄金标准。这种思维定式往往导致一个尴尬局面:明明仿真结果显示RMS值极低,实际成…...

五大Web GIS地图框架深度对比:Leaflet、OpenLayers、Mapbox、Cesium与ArcGIS for JavaScript

1. Web GIS地图框架概述 第一次接触Web GIS开发时,面对众多地图框架的选择确实容易犯难。我至今记得五年前接手一个智慧城市项目时,因为选错框架导致项目延期两周的惨痛经历。现在回头看,其实每个主流框架都有其明确的适用场景,关…...

Cadence Virtuoso导入TSMC 65nm PDK保姆级避坑指南:从解压到仿真成功全流程

Cadence Virtuoso导入TSMC 65nm PDK全流程实战:从文件处理到仿真验证的深度避坑指南 在集成电路设计领域,PDK(Process Design Kit)是连接设计工具与制造工艺的关键桥梁。对于刚接触TSMC 65nm工艺的新手工程师来说,正确…...

Android应用如何精准识别并屏蔽主流模拟器运行环境

1. 为什么需要识别模拟器环境 在移动应用开发中,识别设备是否运行在模拟器上是一个常见的安全需求。我见过太多因为忽视这个环节而导致的安全事故——从游戏外挂泛滥到金融App被批量薅羊毛,甚至有些黑产团队专门用模拟器农场进行自动化攻击。 模拟器检测…...

从图纸到台架:一份给电机工程师的旋变(旋转变压器)选型与验收避坑指南

从图纸到台架:电机工程师的旋变选型与验收全流程实战指南 旋转变压器作为永磁同步电机的"神经末梢",其性能直接决定了整个电驱系统的控制精度与可靠性。在电动汽车三合一电驱系统开发中,我们常遇到这样的困境:实验室表现…...

从Ring 0到VM Exit:拆解KVM虚拟化底层,看你的CPU如何‘影分身’运行多个系统

从Ring 0到VM Exit:拆解KVM虚拟化底层,看你的CPU如何‘影分身’运行多个系统 当你在笔记本电脑上同时运行三个Linux开发环境和两个Windows测试机时,CPU就像施展了"影分身术"的忍者——看似每个系统都独占了完整的硬件资源&#xff…...

ai生成的视频有没有版权?注意事项

AI生成视频的版权归属,核心在于“人的独创性”。AI本身不是作者,其自动生成的内容无版权;但如果创作者通过详细脚本设计、复杂提示词调整、多轮修改与后期精修等付出独创性智力劳动,就能被认定为作品的著作权人。仅输入简单指令生…...

MRI 脊椎分割数据集/脊椎分割项目解决

MRI 脊椎分割数据集/脊椎分割项目解决 包含脊椎分割数据集: 原图,标签分别2460张 代码仅供参考MRI 脊椎分割数据集/脊椎分割项目解决 包含脊椎分割数据集: 原图,标签分别2460张完整的基于YOLOv5的MRI脊椎分割项目的实现。我们将涵盖以下内容:…...

如何在嘎嘎降AI中处理扫描版PDF论文:格式转换和处理教程

如何在嘎嘎降AI中处理扫描版PDF论文:格式转换和处理教程 第一次用降AI工具会遇到很多不确定的地方——传什么格式、选哪个模式、怎么验收效果。 这篇教程把常见问题都覆盖了,主要基于嘎嘎降AI(www.aigcleaner.com),4…...

2026最新|OpenClaw(小龙虾)Windows一键部署教程,内置28万免费Token直接用

2026年OpenClaw(小龙虾)持续升级,不仅解决了新手部署难、环境配置繁琐的痛点,更推出内置28万免费Token的Windows一键部署版本——无需手动配置依赖,无需额外付费获取Token,解压即装、一键启动,小…...

DeepSeek总结的Postgres 性能衰退

来源:https://mydbanotebook.org/posts/postgres-performance-regression-are-we-there-yet/ Postgres 性能衰退:我们到了吗? 2026年4月15日 2402 词 预计阅读 12 分钟 每年,PostgreSQL 都在变得更快。研究人员对从 8 版到 1…...