枚举类&注解

ADRV9009学习资料保存:基于XC7Z100+ADRV9009的双收双发无线电射频板卡 ADRV9009学习资料保存:基于XC7Z100+ADRV9009的双收双发无线电射频板卡 一、板卡概述 基于XC7Z100+ADRV9009的双收双发无线电射频板卡是基于XilinxZYNQFPGA和ADI的无线收发芯片ADRV9009开发的专用功能板卡,用于5G小基站,无线图传,数据收发... 阅读详情

枚举类

一.使用

  • 类的对象只有有限个,确定的,我们称此类为枚举类。
  • 当需要定义一组常量时,强烈建议使用枚举类。
  • 如果枚举类中只有一个对象,则可以作为单例模式的实现方式。
    在这里插入图片描述

二.如何定义枚举类

  • 方式一:JDK5.0之前,自定义枚举类。
public class SeasonTest {
    public static void main(String[] args) {
        Season spring = Season.SPRING;
        System.out.println(spring);
    }
}
//自定义枚举类
class Season{
    //1.声明Season对象的属性:private final 修饰
    private final String seasonName;
    private final String seasonDesc;
    //2.私有化类的构造器,并给对象属性赋值
    private Season(String seasonName, String seasonDesc){
        this.seasonName = seasonName;
        this.seasonDesc = seasonDesc;
    }
    //3.提供当前枚举类的多个对象:public static final的
    public static final Season SPRING = new Season("春天","春暖花开");
    public static final Season SUMMER = new Season("夏天","夏日炎炎");
    public static final Season AUTUMN = new Season("秋天","秋高气爽");
    public static final Season WINTER = new Season("冬天","冰天雪地");
    //4.其他诉求1:获取枚举类对象的属性
    public String getSeasonName(){
        return seasonName;
    }
    public String getSeasonDesc(){
        return seasonDesc;
    }
    //4.其他诉求2:提供toString()
    @Override
    public String toString() {
        return "Season{" +
                "seasonName='" + seasonName + '\'' +
                ", seasonDesc='" + seasonDesc + '\'' +
                '}';
    }
}
  • 方式二:JDK5.0之后,可以使用enum关键字定义枚举类。
    说明:定义的枚举类默认继承于java.lang.Enum类。
public class SeasonTest1 {
    public static void main(String[] args) {
        Season1 summer = Season1.SUMMER;
        System.out.println(summer);
        System.out.println(Season1.class.getSuperclass());
    }
}
//使用enum关键字定义枚举类
enum Season1{
    //1.提供当前枚举类的对象,多个对象之间用","隔开,末尾的用";"结束
    SPRING ("春天","春暖花开"),
    SUMMER ("夏天","夏日炎炎"),
    AUTUMN ("秋天","秋高气爽"),
    WINTER ("冬天","冰天雪地");

    //2.声明Season对象的属性:private final 修饰
    private final String seasonName;
    private final String seasonDesc;
    //2.私有化类的构造器,并给对象属性赋值
    private Season1(String seasonName, String seasonDesc){
        this.seasonName = seasonName;
        this.seasonDesc = seasonDesc;
    }
    //4.其他诉求1:获取枚举类对象的属性
    public String getSeasonName(){
        return seasonName;
    }
    public String getSeasonDesc(){
        return seasonDesc;
    }
    /*//4.其他诉求2:提供toString()
    @Override
    public String toString() {
        return "Season1{" +
                "seasonName='" + seasonName + '\'' +
                ", seasonDesc='" + seasonDesc + '\'' +
                '}';
    }*/
}

三.Enum类中的常用方法

在这里插入图片描述
在这里插入图片描述

//toString():
        System.out.println(summer.toString());
        //System.out.println(Season1.class.getSuperclass());
        System.out.println("*************");

        //values():
        Season1[] values = Season1.values();
        for(int i = 0; i < values.length; i++){
            System.out.println(values[i]);
        }
        System.out.println("*************");

        Thread.State[] values1 = Thread.State.values();
        for(int i = 0; i < values1.length; i++){
            System.out.println(values1[i]);
        }
        System.out.println("*************");

        //valueOf(String objName):返回枚举类中对象名是objName的对象。
        //如果没有objName的枚举类对象,则会抛异常。
        Season1 winter = Season1.valueOf("WINTER");
        System.out.println(winter);
        System.out.println("*************");

四.使用enum关键字定义的枚举类实现接口的情况

1.情况一:实现接口,在enum类中实现抽象方法。

2.情况二:让枚举类的对象分别实现接口中的抽象方法。

SPRING ("春天","春暖花开"){
        @Override
        public void show() {
            System.out.println("春天在哪里呀");
        }
    },
    SUMMER ("夏天","夏日炎炎"){
        @Override
        public void show() {
            System.out.println("我想要带你去海边");
        }
    },
    AUTUMN ("秋天","秋高气爽"){
        @Override
        public void show() {
            System.out.println("我无尽的思念");
        }
    },
    WINTER ("冬天","冰天雪地"){
        @Override
        public void show() {
            System.out.println("热腾腾的火锅");
        }
    };

注解

一.概述

在这里插入图片描述
在这里插入图片描述

二.常见的Annotation示例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三.如何自定义注解

在这里插入图片描述

  • 注解声明为@interface
  • 内部定义成员,通常使用value表示
  • 可以指定成员的默认值,使用default定义
  • 如果自定义注解没有成员,表明是一个标识作用
  • 如果注解有成员,在使用注解时,需要指明成员的值
  • 自定义注解必须要配上注解的信息处理流程(使用反射)才有意义
  • 自定义注解通常都会指明两个元注解:Retention,Target

四.JDK中的元注解

元注解:对现有的注解进行解释说明的注解
在这里插入图片描述

  • Retention
    指定所修饰Annotation的生命周期:SOURCE\CLASS(默认行为)\RUNTIME
    只有声明为RUNTIME生命周期的注解,才能通过反射获取
    在这里插入图片描述

  • Target
    用于指定被修饰的Annotation能用于修饰哪些程序元素
    在这里插入图片描述
    (以下两个出现频率较低)

  • Documented
    表示所修饰注解在被javadoc解析时,保留下来
    在这里插入图片描述

  • Inherited
    被它修饰的Annotation具有继承性
    在这里插入图片描述

五.通过反射来获取注解信息

六.JDK8中注解的新特性

1.可重复注解

2.类型注解
在这里插入图片描述

面试题:比较throw和throws的不同
throw:生成一个异常对象,并抛出。使用在方法内部 <-> 自动抛出异常对象。
throws:处理异常的方式。使用在方法声明处的末尾<->try-catch-finally
“上游排污,下游治污”

告别玄学调参:手把手教你用20元件模型搞定GaN HEMT高频仿真(附S参数提取避坑指南) 本文详细介绍了如何使用20元件模型优化GaN HEMT高频仿真,解决传统16元件模型在10GHz以上频段的误差问题。通过S参数提取避坑指南和实战案例,帮助工程师精准建模分布式电极效应和寄生反馈路径,提升射频电路设计效率。 阅读详情

相关推荐

【全新官方接口】php检测微信域名拦截,检测微信域名被封

你的域名在微信被拦截的3种常见情况 1、域名因违规或有风险被拦截(红色拦截) 2、类似taobao.com,douyin.com这种的恶意竞争式拦截,淘宝、抖音等微信的竞争对手一般都是白色拦截(白色拦截) 3、有一个中间页的拦截,需要多次点击按钮才可以跳转到你的域名的,多是一些新型域名后缀,例如.top .xyz .link后缀,这种情况,备案后可以解决(备案拦截) 通过php get_headers()函数就可以分析到结果 这个下标为6是一个URL,在微信访问后正是这个讨厌的页面! 如果切换为

TANKING,开源开发者! 2877

10、枚举类&注解

二、如何定义枚举类方式一:JDK1.5之前需要自定义枚举类方式二:JDK 1.5 新增的enum 关键字用于定义枚举类//自定义枚举类 class Season {//1.声明Season对象的属性:private final修饰 private final String seasonName;//2.私有化类的构造器,并给对象属性赋值 private Season(String seasonName , String seasonDesc) {

qq_44774198的博客 944

TMC5160电机驱动芯片实战:从模式选择到参数配置全解析

本文深入解析TMC5160电机驱动芯片的实战应用,涵盖三种核心工作模式的选择策略与参数配置。详细介绍了全功能运动控制、外部脉冲驱动及独立驱动模式的应用场景与配置要点,并提供了电流控制、静音优化、SPI通信及高级功能(如StallGuard2)的调优指南,帮助开发者充分发挥其高精度、低噪音性能。

weixin_29179311的博客 323

Java高级编程——枚举类与注解

Java高级编程——枚举类与注解

qq_61524266的博客 1434

从零到一:手把手教你用STM32F103C8T6打造个人专属开发板(附立创EDA工程与源码)

本文详细介绍了如何使用STM32F103C8T6微控制器从零开始设计和制作个人专属开发板。内容涵盖硬件选型、原理图设计、PCB布局、功能验证等全流程,并提供了立创EDA工程文件和源码,帮助开发者深入理解STM32开发板的硬件架构与设计要点。

weixin_26802933的博客 286

agv调度系统3.0技术介绍

agv调度系统,穿梭车调度系统,调度系统技术介绍,教你做调度

持续分享调度系统开发过程 4869

Java中的枚举类与注解

Java中的注解是我们在学习框架的基础。

guye 926

别再只盯着照片了!手把手教你用Python提取大疆照片里的GPS、姿态和RTK数据

本文详细介绍了如何使用Python提取大疆照片中的GPS、姿态和RTK数据,帮助用户解锁无人机拍摄照片中的隐藏元数据。通过实战代码示例,展示了如何解析EXIF格式的定位、姿态和RTK状态信息,并实现批量处理与数据分析,适用于测绘、农业巡检等专业领域。

weixin_30790841的博客 156

java基础——枚举注解

java基础 笔记的都是需要背诵的零散知识点,以顺序的方式组织 文章目录java基础1.enum枚举(enumerate)2.注解3.jdk的元Annotation(元注解,了解) 1.enum枚举(enumerate) (1)枚举是一组常量的集合 (2)枚举属于一种特殊的类,里面只包含一组有限的特定对象 (3)枚举的两种实现方式: 自定义类实现枚举 使用enum关键字实现枚举 (4)自定义类实现枚举: 不需要提供setXxx方法,因为枚举对象值通常为只读. 对枚举对象/属性使用final

上邪的博客 1441

从零开始:手把手教你用VOACAP软件预测短波最佳工作频率(OWF)

本文详细介绍了如何使用VOACAP软件预测短波通信的最佳工作频率(OWF),涵盖软件安装、参数配置、电离层模型设置及结果解读。通过实战案例和优化技巧,帮助用户掌握短波传播特性,提升通信效率。特别适合业余无线电爱好者和专业通信人员参考。

weixin_30897079的博客 649

基于最小二乘法蒙特卡洛模拟(LSM)可转债定价原理及算法演示

可转换债券是一种极其复杂的信用衍生产品,除了一般债权外,它还包含着多个期权,包括转股权、回售权、赎回权和发行人的转股价格修正权,条款的复杂性决定了可转债定价的复杂性。可转债定价方法较为普遍的是依据B-S期权定价公式和二叉树模型,在对内嵌期权定价的基础上,加上纯债的价值,从而对可转债进行定价。但是可转债附加的期权不仅仅是一个美式期权,而是附加了赎回、回售和下修等特殊条款,以上定价方法仅可看做对可转债价值的近似估计,难以对其中的条款博弈进行定价。

weixin_43971191的博客 1731

枚举类&注解的使用

目录枚举类的使用枚举类的实现自定义枚举类(JDK1.5之前)使用enum定义枚举类(JDK1.5及以后)Enum类的主要方法实现接口的枚举类注解的使用生成文档相关的注解在编译时进行格式检查(JDK内置的三个基本注解)跟踪代码依赖性,实现替代配置文件功能自定义注解JDK中的元注解RetentionTargetDocumentedInheritedJDK8 中注解的新特性 枚举类的使用 枚举类的实现 类的对象只有有限个,确定的。 当需要定义一组常量时,强烈建议使用枚举类。 若枚举只有一个对象,则可以作为一种单

AndrewBest的博客 1717

使用verilog实现基于FPGA的TDC设计

verilog实现TDC 高精度时间数字转换器概述(TDC) 简介: TDC被用于测量时间间隔,应用在物理研究、飞行时间测量领域等。 本设计使用verilog实现并在xilinx和altera的FPGA上均可实现! 设计中使用到下述几个模块,包括FIFO,COUNT等,在xilinx下也使用到了一些原语等。下面有实现的代码和仿真截图等。 顶层模块设计如下: module top( input wire start, input wire stop, input wire clk, output wire T

QQ_778132974的博客 6254

Java枚举类&注解

一、枚举类入门 JDK1.5之前需要自定义枚举类JDK 1.5新增的enum关键字用于定义枚举类若枚举只有一个成员,则可以作为一种单例模式的实现方式 1.如何自定义枚举类 class Season{ //1.提供类的属性,声明为private final private final String seasonName; private final String seas

sdecode的博客 1819

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Day69.注解&枚举类的复习 -Java注解&枚举类

枚举类和注解 . 枚举类的使用 1. 枚举类的说明: * 1. 枚举类的理解: 类的对象只有有限个、确定的。我们称此类为枚举类 * 2. 当需要定义一组常量时,强烈建议使用枚举类 * 3. 如果枚举类中只有一个对象,则可以作为单例模式的实现方式。 2. 如何自定义枚举类?步骤: * 方式一: jdk5.0之前,自定义枚举类 * 方式二: jdk5.0时,可以使用enum关键词定义枚举类 自定义枚举类 //自定义枚举类 class Season{ //1. 声明Season对象的属性:

阿昌爱Java 534

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

10-枚举类&注解

一、枚举类 1.说明 枚举类的理解:类的对象只有有限个,确定的。我们称此类为枚举类 当需要定义一组常量时,强烈建议使用枚举类 如果枚举类中只一个对象,则可以作为单例模式的实现方式。 2.自定义枚举类 //自定义枚举类 class Season{ //1.声明Season对象的属性:private final修饰 private final String seasonName; ...

Wuyikkk的博客 238

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

【Java高级编程】枚举类&注解

枚举类&注解

请你喝杯Java 897

章节练习:枚举类&注解

枚举类 第1题 1、声明颜色枚举类: 7个常量对象:赤、橙、黄、绿、青、蓝、紫。 2、在测试类中,使用枚举类,获取绿色对象,并打印对象。 package test1; /** * @author yhm * @create 2020-07-16 14:03 */ public enum Color { RED,ORANGE,YELLOW,GREEN,CYAN,BLUE,PURPLE } package test1; /** * @author yhm * @create 2020-

LastYHM的博客 1128

十 枚举类&注解

十 枚举类&amp;注解十 枚举类&amp;注解1 枚举类的使用2 注解的使用 十 枚举类&amp;注解 1 枚举类的使用 2 注解的使用

小心星的博客 342

【JavaSE】十、枚举类&注解

枚举类&注解

Zhuang_lu_ren的博客 471

Java基础-枚举类&注解

1.1 枚举类的使用 类的对象只有有限个,确定的。星期、性别、季节、支付方式、订单状态、线程状态… 当需要定义一组常量时,强烈建议使用枚举类 JDK1.5前需要自定义枚举类 JDK1.5新增enum关键字用于定义枚举类 1.1.1 自定义枚举类 //自定义枚举类 class Season { //属性 private final String seasonName; private final String seasonDesc; //私有化类的构造器 priv

u014215131的博客 156
上一篇: PTA 堆栈模拟队列
下一篇: MySQL
ZoeLandia
博客等级 码龄6年 734粉丝 183原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值