13、枚举和注解

发布时间:2022-06-28 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了13、枚举和注解脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

目录
  • 一、枚举(enum)
  • 二、注解(Annotation)
    • 1、什么是注解?
    • 2、三个基本的注解
    • 3、四种元注解

一、枚举(enum)

枚举属于一种特殊的类,里面只包含了一组优先的特定对象

可以取代传统常量的定于方式,即将常量封装在类或接口中

1、枚举的定义

(1)自定义实现枚举

  • 私有化构造器,止新建对象
  • 提供getXxx方法,对外暴露,但不提供setXxx方法,因为枚举对象值通常为只读
  • 对枚举对象/属性使用final + static共同修饰,实现底层优化
  • 枚举对象名通常使用大写(常量命名规范)
  • 枚举对象根据需要,可以有多个属性

(2)enum关键字实现枚举(将class换成enum即可)

  • 当我们使用enum关键字开发一个枚举类时,默认会继承Enum类,而且是一个final类

  • 自定义枚举中public final static Secson SPRING = new Season("春", 雨);

    在枚举类中可简化SPRING("春", 雨);,会调用构造器

  • 若调用无参构造器创建常量对象,可省略()

  • 多个枚举对象,使用,间隔,分号;结尾

  • 枚举对象必须放在枚举类的行首

2、enum常用方法

(1)toString():Enum类已经重写过,返回的是当前的对象名,子类可以重写该方法

(2)name():返回当前对象名(子类不能重写)

(3)ordinal():返回当前对象编号

(4)values():返回当前枚举类中所有常量(返回一个数组)——可以用foreach遍历

(5)valueOf():将字符串转换成枚举对象,要求字符串必须为已有的常量名,否则报异常

(6)compareTo():比较两个枚举对象编号,对象A.COMpareTo(对象B)——》对象A编号减对象B编号

3、枚举的使用细节

(1)枚举类不能继承其他类,枚举类隐式继承Enum类,Java单继承

(2)可以实现接口

二、注解(Annotation)

1、什么是注解?

(1)注解也称为元数据(Metadata),用于修饰解释包,类,方法,属性,构造器,局部变量等数据类型

(2)和注释一样,注解不影响程序逻辑,但注解可以被编译或运行,相当于嵌入在代码块中的补充信息

(3)在javaSE中,注解使用目的很简单,例如标记过时功能,忽略警告等

​ 在JavaEE中,注解占据了更重要的角色

2、三个基本的注解

(1)@override使用说明

  • @Override表示指定重写父类的方法,若父类中没有则报错
  • 不写@Override注解,但仍然重写,依然构成实际上的重写
  • @Override只能修饰方法,不能修饰其他类,包,属性等
  • 修饰注解的注解称为元注解

(2)@Deprecated使用说明

  • 用于表示某个原生已经过时
  • 可以修饰方法,类某字段,包,参数等
  • @Deprecated的作用可以做到新旧版本的兼容和过渡

(3)@SupPressWarning({...})使用说明

  • @SuppressWarning({...}):用于忽略警告,大括号内传入具体忽略信息的类型
  • 参数意义
    • unchecked:忽略没有检查的警告
    • rawtyPEs:忽略传参时没指定泛型的警告
    • unused:忽略没有使用的警告

3、四种元注解

修饰注解的注解

(1)@Retention:指定注解的作用范围

@Retention(Retentionpolicy.SOURCE)
  • SOURCE:编译器使用后,直接丢弃这种策略的注解
  • CLASS:编译器将把注解记录在class文件中,运行时,JVM不会保留注解
  • RUNTIME:JVM会保留注解,程序通过反射获取该注解

(2)@Target

用于修饰注解定义,用于指定被修饰的注解能用于修饰哪些元素

(3)@Docamented

(4)@InherITed

被修饰的注解将具有继承性

脚本宝典总结

以上是脚本宝典为你收集整理的13、枚举和注解全部内容,希望文章能够帮你解决13、枚举和注解所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。