824 字
4 分钟
Views
枚举和注解
2025-08-02
无标签

关于枚举与注解,其实主要是框架用的多,java基础部分基本来说是用不到的,特别是注解

枚举#

介绍#

枚举的对象只有固定的几个对象,比如季节只有春夏秋冬这四个对象

概念#

枚举对应英文(enumeration 简写enum)

枚举是一组常量的集合

可以理解为,枚举是一种特殊的类,里面质保函一组有限的特定的对象

自定义类实现枚举#

实现步骤#
  1. 将构造器私有化,防止直接new一个出来
  2. 去掉set方法,防止属性没修改
  3. 在Season内部直接创建固定的对象
特点#
  • 构造器私有化
  • 本类内部创建一组对象
  • 对外暴露对象
  • 可以提供get方法,但是不能提供set方法
  • 对枚举对象使用 final + static共同修饰,实现底层优化
  • 枚举对象名通常全部大写,常量的命名规范
示例#
class Season{
private String name;
private String description;
public static final Season SUMMER = new Season("Summer", "The hottest season");
public static final Season WINTER = new Season("Winter", "The coldest season");
public static final Season SPRING = new Season("Spring", "The time of flowers and fruits");
public static final Season FALL = new Season("Fall", "The time of leaves and frost");
public Season(String name, String description){
this.name = name;
this.description = description;
}
public String getName(){
return name;
}
public String getDescription(){
return description;
}
}

enum关键字实现枚举#

和自定义类实现枚举差不多,但是内部创建对象只需要写SUMMER(String name,String description)//写在最前面,并且不是class是enum

示例#
enum SeasonEnum{
SUMMER("Summer", "The hottest season"),
WINTER("Winter", "The coldest season"),
SPRING("Spring", "The time of flowers and fruits"),
FALL("Fall", "The time of leaves and frost");
private String name;
private String description;
SeasonEnum(String name, String description){
this.name = name;
this.description = description;
}
public String getName(){
return name;
}
public String getDescription(){
return description;
}
}

注解#

概念#

注解(Annotation)是Java 5.0引入的新特性,它是一种元数据(metadata)的形式,可以用来在代码中嵌入信息,这些信息可以用于生成文档,或者进行编译时进行类型检查、代码分析等。

  • 注解也被称为元数据,用于修饰解释包,类,方法,属性,构造器,局部变量等数据信息
  • 和注释一样,注解不影响程序逻辑,但注解可以被编译或运行,相当于嵌入在代码中的补充信息
  • 在javaSE中,注解的使用目的比较简单,例如标记过时的功能,忽略警告等,在javaEE中注解占据了更重要的角色,例如用来配置应用程序的任何切面,代替java EE旧版中所遗留的繁杂代码和xml配置等

基本的注解介绍#

使用Annotation的时候要在在前面加上@符号 ,并把该Annotation当成一个修饰符使用,用于修饰它支持的程序元素

三个基本的Annotation

  • @ Override:限定于某个方法,是重写父类方法,该注解只能用于方法
  • @ Deprecated:用于表示某个程序元素(类,方法等)已过时
  • @ SuppressWarnings:抑制编译器警告

元注解#

元注解用于修饰其他注解

种类#

  • Retention//指定注解的作用范围,三种SOURCE,CLASS,RUNTIME
  • Target//指定注解可以在哪些地方使用
  • Documented//指定该注解是否会在javadoc体现
  • Inherited//子类会继承父类注解

评论