首页 > 编程语言 >韩顺平java基础-11-枚举类与注解

韩顺平java基础-11-枚举类与注解

时间:2024-01-10 11:12:46浏览次数:27  
标签:11 java 对象 enum 枚举 使用 注解 重写 顺平

韩顺平java基础-11-枚举类与注解

2024.1.5-2024.1.8

枚举类

定义

概念

定义常量对象,不能被修改

语法

1. 自定义类实现枚举

  1. 构造器私有化
  2. 去掉set方法
  3. 创建静态对象(new)
  4. 优化:加入final修饰符,避免类加载

2. enum关键字实现枚举

  1. 关键字 enum替换class
  2. 创建对象:对象名+实参列表

注意

  1. 本质是 public static final Season SPRING = new Season("春天","温暖");简化成了 SPRING("春天", "温暖");
  2. 使用无参构造器时,实参列表和小括号可以省略。
  3. 如果有多个常量对象,使用 , 逗号间隔
  4. 要求将常量对象写在最前面

enum类方法使用

  1. name()返回枚举对象的名字

  2. ordinal()返回枚举对象的顺序

  3. values()返回所有枚举对象数组

  4. valueOf()将字符串转换成枚举对象

  5. compareTo()比较两个枚举对象的顺序,相减


细节

  1. 使用enum后,enum会隐式继承Enum类,因此不能继承其他类
  2. 使用enum后,依然是类,可以实现接口

注解

Override注解 @Override

重写方法

  1. 语法校验,能够校验是否是重写,如果不是重写会报错
  2. 不写仍然可行,编译器仍然会判断是否重写
  3. 只能修饰方法

Deprecated注解

表示某类已经过时,即不再推荐使用,但仍然可以使用

  1. 可以修饰方法、属性等
  2. 版本兼容过渡使用

SuppressWarnings注解

抑制警告信息

  1. 作用范围与放置位置相关
  2. 可以修饰类、方法等

元注解Annotaion

注解的注解

  1. Target 指定注解在哪些地方使用,用于哪些元素

  2. Retention 1) SOURCE 作用于编译器 2) CLASS 3) RUNTIME

  3. Document 生成文档时,保留注解

  4. Inherited 继承注解

标签:11,java,对象,enum,枚举,使用,注解,重写,顺平
From: https://www.cnblogs.com/forest-pan/p/17956093

相关文章

  • 韩顺平java基础-10-面向对象编程
    韩顺平java基础-10-面向对象编程类变量和类方法类变量static静态变量被同一个类所有对象共享类变量在类加载的时候生成定义语法访问修饰符static数据类型变量名如何访问类变量类名.类变量名//类变量随着类加载而创建,所以即使没有创建对象实例也可以访问。使用细......
  • leetcode 11.盛最多水的容器
    leetcode11.盛最多水的容器第十一题:盛最多水的容器1.暴力枚举:会超时,但是做一些条件判断应该可以擦边过publicintmaxArea(int[]height){intmax_result=0;for(inti=0;i<height.length-1;i++){for(intj=i+1;j<height.length;j++......
  • 双向广搜-> hdu1195
    问题描述:密码锁有起始和目标两个状态,状态有4个连续数字,数字范围是1~9。其中特殊情况9+1=0,1-1=9。每次操作可以交换相邻的两个锁上的数字,或者将该位上数字±1。求最小操作次数分析:是一道双向广搜的题,但是这个题目的第一个思路就是枚举所有的排列组合状态,然后对每个状......
  • 平台工程动态 Monthly News 2023-11
    本期内容导览项目与社区动态CNCF云原生技术全景图v22023平台工程调研报告CNCFAppDeliveryTAG发布中文网站CNCF平台工程成熟度模型发布Humanitec发布平台工程现状报告Gartner:中国的平台工程正处于萌芽期CNCFPaaP工作组正在起草「平台即产品」白皮书HashiCo......
  • java工作流引擎-j-roadflow-plus使用快速入门
    新建一个流程并发布运行需要以下步骤:1、新建表单。    在表单管理中新建表单,并设计表单,在表单中拖入控件。        点新建按钮会进入表单设计界面,并自动弹出表单属性设置。        输入表单名称,选择数据连接,数据表选择已有的测试表rf_form_test,主键选id......
  • 唠一唠Java线程池
    第1章:引言大家好,我是小黑,咱们今天来聊聊Java线程池,如果没有线程池,每个线程都需要手动创建和销毁线程,那将是多么低效和耗资源啊!线程池的核心作用就是复用已创建的线程,减少系统开销,提高响应速度。咱们在开发高并发应用时,经常会遇到需要同时执行多个任务的场景,这时候线程池就闪亮......
  • 《PySpark大数据分析实战》-11.Spark on YARN模式安装Hadoop
    ......
  • test-01-java 单元测试框架 junit 入门介绍
    拓展阅读junit5系列基于junit5实现junitperf源码分析Autogeneratemockdataforjavatest.(便于Java测试自动生成对象信息)Junitperformancerelyonjunit5andjdk8+.(java性能测试框架。性能测试。压测。测试报告生成。)JUnitJUnit是一个用于编写可重复测试......
  • test-02-java 单元测试框架 junit5 入门介绍
    拓展阅读junit5系列基于junit5实现junitperf源码分析Autogeneratemockdataforjavatest.(便于Java测试自动生成对象信息)Junitperformancerelyonjunit5andjdk8+.(java性能测试框架。性能测试。压测。测试报告生成。)junit5的入门例子maven引入<depend......
  • java基础问题
    数组一维数组:  1.使用new指定一个数组大小int[]number=newint[8];number[0]=1;number[1]=2;number[2]=3;number[3]=5;number[4]=8;其中,int表示数据类型,并且给每个元素进行赋值。2.使用new指定数组元素的值int[]number=newint[]{1,2,3,5......