您的位置:首页 > 新闻 > 会展 > 九、枚举和注解

九、枚举和注解

2024/10/11 7:15:44 来源:https://blog.csdn.net/weixin_44063529/article/details/141476250  浏览:    关键词:九、枚举和注解

文章目录

  • 一、枚举介绍
  • 二、自定义类实现枚举
  • 三、enum关键字实现枚举
    • 3.1 enum案例
    • 3.2 enum关键字实现枚举注意事项
    • 3.3 enum常用方法说明
    • 3.4 enum实现接口
  • 四、JDK内置的基本注解类型
    • 4.1 注解的理解
    • 4.2 基本的Annotation介绍
    • 4.3 @Override
    • 4.4 @Deprecated
    • 4.5 @SuppressWarnings
  • 五、元注解:对注解进行注解
    • 5.1 元注解的基本介绍
    • 5.2 @Retention
    • 5.3 @Target
    • 5.4 @Documented
    • 5.5 Inherited注解
  • 细节
    • 增强for循环

一、枚举介绍

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

二、自定义类实现枚举

package com.enum_;/*** @author Gao YongHao* @version 1.0*/
public class DefineByUser {public static void main(String[] args) {System.out.println(Season.AUTUMN);}
}class Season { // 类public static final Season SPRING = new Season("Spring", "温暖");public static final Season SUMMER = new Season("Summer", "炎热");public static final Season AUTUMN = new Season("Autumn", "凉爽");public static final Season WINTER = new Season("Winter", "寒冷");private String name;private String desc;// 1. 将构造器私有化,目的防止 外部直接 new// 2. 去掉setXxx方法,防止属性被修改// 3. 在 Season 内部,直接创建固定的对象private Season(String name, String desc) {this.name = name;this.desc = desc;}public String getName() {return name;}public String getDesc() {return desc;}@Overridepublic String toString() {return "Season{" +"name='" + name + '\'' +", desc='" + desc + '\'' +'}';}
}

在这里插入图片描述

三、enum关键字实现枚举

3.1 enum案例

package com.enum_;/*** @author Gao YongHao* @version 1.0*/
public class DefineByEnum {public static void main(String[] args) {System.out.println(Season2.SPRING);}
}enum Season2 {// 如果使用了 enum 来实现枚举类// 1. 使用关键字 enum 替代 class// 2. public static final Season2 SPRING = new Season2("Spring","温暖");// 直接使用// SPRING("Spring", "温暖"); 解读  常量名(实参列表)// 3. 如果有多个常量(对象)   使用 , 号间隔即可// 4. 如果使用enum来实现枚举,要求将定义的常量对象,写在前面SPRING("Spring", "温暖"), SUMMER("Summer", "炎热"), AUTUMN("Autumn", "凉爽"),WINTER("冬天", "寒冷");private String name;private String desc;Season2(String name, String desc) {this.name = name;this.desc = desc;}public String getName() {return name;}public String getDesc() {return desc;}
}

3.2 enum关键字实现枚举注意事项

在这里插入图片描述

  • 要求所有的构造器均为 private 修饰(默认的无参构造器也为 private 修饰)
  • enum反编译的信息如下
    在这里插入图片描述

3.3 enum常用方法说明

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.4 enum实现接口

在这里插入图片描述

四、JDK内置的基本注解类型

4.1 注解的理解

在这里插入图片描述

4.2 基本的Annotation介绍

在这里插入图片描述

4.3 @Override

在这里插入图片描述

4.4 @Deprecated

在这里插入图片描述

在这里插入图片描述

4.5 @SuppressWarnings

在这里插入图片描述

在这里插入图片描述

五、元注解:对注解进行注解

5.1 元注解的基本介绍

在这里插入图片描述

5.2 @Retention

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

5.3 @Target

在这里插入图片描述

5.4 @Documented

在这里插入图片描述

5.5 Inherited注解

在这里插入图片描述

细节

增强for循环

public class Test{public static void main(String[] args){Teacher[] teas = {new Teacher("aa","32"),new Teacher("bb","32"),new Teacher("bb","32")};for(Teacher t:teas){ // 增强 for 循环,类似于python的for循环遍历(缺点无法获知当前的index)System.out.println("name:"+t.name + " age:" + t.age);}}
}class Teacher{public String name;public int age;public Teacher(String name,int age){this.name = name;this.age = age;}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com