枚举、注解及单元测试的简单笔记

简介: 枚举、注解及单元测试的简单笔记

一、枚举


概述:枚举是一种特殊的类,表示一组常量


定义格式:


public enum 枚举类名{
    枚举项1,枚举项2,枚举项3;
 }


特点:


1. 所有枚举类都是Enum类的子类,所以枚举类可以使用Enum类中的方法


2. 可以通过枚举类名.枚举项去访问指定的枚举项


3. 每一个枚举项实际上是是该枚举类的一个对象


4. 枚举项可以有构造方法,但必须是private修饰,如果不提供无参构造,则必须在枚举项中使用有参构造


5. 枚举类还可以有成员变量,成员方法,抽象方法,但是抽象方法必须在枚举项中重写


6. 枚举类第一行必须是枚举项


常用方法:


方法名 说明
String name() 获取枚举项名称
int ordinal() 返回枚举项索引
int compartTo(E o) 返回与其他枚举项索引的差值
String toString() 返回枚举项名称
static T valueOf(Class type,String name) 获取指定枚举类中指定名字的枚举项
T[] values() 获取所有的枚举项


二、注解


注解作用是:对程序进行标注和解释


三个注解:


注解 说明
@Override 描述子类重写父类方法
@Deprecated 描述方法过时
@SuppressWarnings 压制警告


注解和注释的区别:


1、注释是给程序员看


2、注解时给编译器看(让虚拟机看到程序中的注解,注解代表程序的一些特殊功能)


自定义注解


格式:


public @interface 注解名{
    public 元素类型 元素名() default 默认值;
}


元素前的public修饰是默认的可以省略,但是不能使用其他的修饰


default是用来设置默认值的,在使用的时候如果不指定元素的值则默认是设置的这个默认值


元素类型可以使用如下:


基本数据类型


String类型


Class类型


注解类型


枚举类型


以上类型的一维数组


元注解:


1. 元注解是修饰注解的注解,JDK提供了一些元注解使用


2. 常用元注解


@Target :用于定义被修饰的注解可以应用于代码中的哪些位置,如


1. 类或接口: ElementType.TYPE


2. 成员变量: ElementType.FIELD


3. 成员方法: ElementType.METHOD


4. 构造方法: ElementType.CONSTRUCTOR


5. 方法参数: ElementType.PARAMETER


6. 范例 :

@Target(ElementType.TYPE)
public @interface Demo{}//说明Demo注解可以用在类前面


@Retention :用于定义注解的生命周期


1. 仅编译期: RetentionPolicty.SOURCE


2. 仅class文件: RetentionPolicty.CLASS


3. 运行期: RetentionPolicty.RUNTIME


4. 通常我们自定义的注解是在运行期使用的,所以自定义注解时会使用这个元注解修饰自定义注解,并设置为RetentionPolicty.RUNTIME


注解的使用:


1、格式:


//方式1,给指定的元素赋值,没有赋值的将使用默认值
@注解名(元素1 = 属性值,元素2 = 属性值)
//方式2,给元素名为value的元素赋值,value是特殊的一个元素,如果自定义注解中不给
出该元素而使用这种方式赋值会报错
@注解名(属性值)
//方式3,全部元素使用默认值
@注解名


● Class.isAnnotationPresent(Class)


● Field.isAnnotationPresent(Class)


● Method.isAnnotationPresent(Class)


● Constructor.isAnnotationPresent(Class)


● 注意:方法的参数是需要判断的注解的Class对象,返回值类型是boolean


三、单元测试


● 使用Junit来进行单元测试


● Junit提供注解来识别测试方法


● 可以查看允许情况


● 基本使用步骤:


1. 将Junit的jar包导入项目


2. 测试的方法必须是公共的、无参数、无返回值的非静态方法


3. 在需要测试的方法上方用@Test注解标注该方法是个测试方法


4. 开始测试


● 常用的三个注解:


注解 说明
@Test 表示测试该方法
@Before 表示在测试的方法前运行
@After 表示在测试的方法后运行
目录
相关文章
|
4月前
|
XML Java 测试技术
Spring5入门到实战------17、Spring5新功能 --Nullable注解和函数式注册对象。整合JUnit5单元测试框架
这篇文章介绍了Spring5框架的三个新特性:支持@Nullable注解以明确方法返回、参数和属性值可以为空;引入函数式风格的GenericApplicationContext进行对象注册和管理;以及如何整合JUnit5进行单元测试,同时讨论了JUnit4与JUnit5的整合方法,并提出了关于配置文件加载的疑问。
Spring5入门到实战------17、Spring5新功能 --Nullable注解和函数式注册对象。整合JUnit5单元测试框架
|
2月前
|
机器学习/深度学习 JSON 算法
实例分割笔记(一): 使用YOLOv5-Seg对图像进行分割检测完整版(从自定义数据集到测试验证的完整流程)
本文详细介绍了使用YOLOv5-Seg模型进行图像分割的完整流程,包括图像分割的基础知识、YOLOv5-Seg模型的特点、环境搭建、数据集准备、模型训练、验证、测试以及评价指标。通过实例代码,指导读者从自定义数据集开始,直至模型的测试验证,适合深度学习领域的研究者和开发者参考。
940 3
实例分割笔记(一): 使用YOLOv5-Seg对图像进行分割检测完整版(从自定义数据集到测试验证的完整流程)
|
2月前
|
测试技术
自动化测试项目实战笔记(三):测试用户注册(验证码错误,成功,出现弹框时处理)
本文是关于自动化测试项目实战笔记,主要介绍了如何测试用户注册功能,包括验证码错误、注册成功以及弹框处理的测试步骤和代码实现。
130 2
自动化测试项目实战笔记(三):测试用户注册(验证码错误,成功,出现弹框时处理)
|
2月前
|
Java 关系型数据库 MySQL
自动化测试项目实战笔记(一):JDK、Tomcat、MySQL、Jpress环境安装和搭建
这篇文章是关于自动化测试项目实战笔记,涵盖了JDK、Tomcat、MySQL、Jpress环境的安装和搭建过程,以及测试用例和常见问题总结。
61 1
自动化测试项目实战笔记(一):JDK、Tomcat、MySQL、Jpress环境安装和搭建
|
2月前
|
安全
红队测试方法论-课程笔记
红队测试方法论-课程笔记
红队测试方法论-课程笔记
|
2月前
|
机器学习/深度学习 弹性计算 自然语言处理
前端大模型应用笔记(二):最新llama3.2小参数版本1B的古董机测试 - 支持128K上下文,表现优异,和移动端更配
llama3.1支持128K上下文,6万字+输入,适用于多种场景。模型能力超出预期,但处理中文时需加中英翻译。测试显示,其英文支持较好,中文则需改进。llama3.2 1B参数量小,适合移动端和资源受限环境,可在阿里云2vCPU和4G ECS上运行。
131 1
|
2月前
|
计算机视觉
目标检测笔记(二):测试YOLOv5各模块的推理速度
这篇文章是关于如何测试YOLOv5中不同模块(如SPP和SPPF)的推理速度,并通过代码示例展示了如何进行性能分析。
132 3
|
2月前
|
人工智能 算法 测试技术
自动化测试项目实战笔记(二):解决验证码识别问题
这篇文章介绍了三种自动化测试中验证码识别的方法:使用Python的pytesseract和PIL模块、利用第三方API如万维易源,以及使用开源的ddddocr库,还提到了一些注意事项,比如如何获取验证码区域的截图。
95 2
|
2月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
80 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
2月前
|
机器学习/深度学习 并行计算 数据可视化
目标分类笔记(二): 利用PaddleClas的框架来完成多标签分类任务(从数据准备到训练测试部署的完整流程)
这篇文章介绍了如何使用PaddleClas框架完成多标签分类任务,包括数据准备、环境搭建、模型训练、预测、评估等完整流程。
171 0