java基础-Junit 注解 枚举-day12
1. Junit
白盒测试 黑盒测试 自行baidu了解
java单元测试
package com.msb01;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
/**
* @Auther: jack.chen
* @Date: 2023/9/18 - 09 - 18 - 21:14
* @Description: com.msb01
* @version: 1.0
*/
public class CalculatorTest {
@Before
public void beforeMethod(){
System.out.println("Before method");
}
@After
public void afterMethod(){
System.out.println("After method");
}
@Test
public void testAdd(){
Calculator cal = new Calculator();
int res = cal.add(1, 3);
Assert.assertEquals(4, res);
}
@Test
public void testMinus(){
Calculator cal = new Calculator();
int res = cal.minus(9, 12);
Assert.assertEquals(-3, res);
}
}
package com.msb01;
/**
* @Auther: jack.chen
* @Date: 2023/9/18 - 09 - 18 - 21:13
* @Description: com.msb01
* @version: 1.0
*/
public class Calculator {
public int add(int a, int b){
return a+b;
}
public int minus(int a, int b){
return a-b;
}
}
2. 注解 annotation
注解是比较重要的内容 后续还会深入学习 这里是是引入
注解其实就是代码里的特殊标记,这些标记可以在编译,类加载,运行时被读取,并执行相应的处理。通过使用注解,程序员可以在不改变原有逻辑的情况下,在源文件中嵌入一些补充信息
一定程度上可以说 :框架=注解+反射+设计模式。
后续会学习各种框架
3. 枚举
星期一--星期天
春夏秋冬
男女
有限的取值
package com.msb.enum01;
/**
* @Auther: jack.chen
* @Date: 2023/9/18 - 09 - 18 - 23:00
* @Description: com.msb.enum01
* @version: 1.0
*/
public class Season {
private final String seasonName;
private final String seasonDesc;
private Season(String seasonName, String seasonDesc) {
this.seasonName = seasonName;
this.seasonDesc = seasonDesc;
}
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("冬", "冰天雪地");
public String getSeasonName() {
return seasonName;
}
public String getSeasonDesc() {
return seasonDesc;
}
@Override
public String toString() {
return "Season{" +
"seasonName='" + seasonName + '\'' +
", seasonDesc='" + seasonDesc + '\'' +
'}';
}
}
package com.msb.enum01;
/**
* @Auther: jack.chen
* @Date: 2023/9/18 - 09 - 18 - 23:05
* @Description: com.msb.enum01
* @version: 1.0
*/
public class Test {
public static void main(String[] args) {
Season autumn = Season.Autumn;
System.out.println(autumn.getSeasonDesc());
System.out.println(autumn.getSeasonName());
System.out.println(autumn);
}
}
枚举类
package com.msb.enum02;
/**
* @Auther: jack.chen
* @Date: 2023/9/18 - 09 - 18 - 23:00
* @Description: com.msb.enum01
* @version: 1.0
*/
public enum Season {
Spring("春", "春暖花开"),
Summer("夏", "夏日炎炎"),
Autumn("秋", "秋高气爽"),
Winter("冬", "冰天雪地");
private final String seasonName;
private final String seasonDesc;
private Season(String seasonName, String seasonDesc) {
this.seasonName = seasonName;
this.seasonDesc = seasonDesc;
}
public String getSeasonName() {
return seasonName;
}
public String getSeasonDesc() {
return seasonDesc;
}
@Override
public String toString() {
return "Season{" +
"seasonName='" + seasonName + '\'' +
", seasonDesc='" + seasonDesc + '\'' +
'}';
}
}
package com.msb.enum02;
/**
* @Auther: jack.chen
* @Date: 2023/9/18 - 09 - 18 - 23:05
* @Description: com.msb.enum01
* @version: 1.0
*/
public class Test {
public static void main(String[] args) {
Season autumn = Season.Autumn;
System.out.println(autumn.getSeasonDesc());
System.out.println(autumn.getSeasonName());
System.out.println(autumn);
}
}
// enum关键字对应的枚举类的上层父类是 :java.lang.Enum
System.out.println(Season.class.getSuperclass().getName());
更简单的写法
package com.msb.enum03;
/**
* @Auther: jack.chen
* @Date: 2023/9/18 - 09 - 18 - 23:00
* @Description: com.msb.enum01
* @version: 1.0
*/
public enum Season {
Spring,
Summer,
Autumn,
Winter;
}
package com.msb.enum03;
/**
* @Auther: jack.chen
* @Date: 2023/9/18 - 09 - 18 - 23:12
* @Description: com.msb.enum03
* @version: 1.0
*/
public class test {
public static void main(String[] args) {
Season autumn = Season.Autumn;
System.out.println(autumn);
Season[] values = Season.values();
for (Season value : values) {
System.out.println(value.toString());
}
Season aut = Season.valueOf("Autumn");
System.out.println(aut);
}
}
实现类
package com.msb.enum03;
/**
* @Auther: jack.chen
* @Date: 2023/9/18 - 09 - 18 - 23:00
* @Description: com.msb.enum01
* @version: 1.0
*/
public enum Season implements SeasonShow {
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("冬天");
}
};
}
package com.msb.enum03;
/**
* @Auther: jack.chen
* @Date: 2023/9/18 - 09 - 18 - 23:16
* @Description: com.msb.enum03
* @version: 1.0
*/
public interface SeasonShow {
void show();
}
package com.msb.enum03;
/**
* @Auther: jack.chen
* @Date: 2023/9/18 - 09 - 18 - 23:12
* @Description: com.msb.enum03
* @version: 1.0
*/
public class test {
public static void main(String[] args) {
Season autumn = Season.Autumn;
System.out.println(autumn);
Season[] values = Season.values();
for (Season value : values) {
System.out.println(value.toString());
}
Season aut = Season.valueOf("Autumn");
System.out.println(aut);
aut.show();
}
}
实际应用
package com.msb.enum04;
/**
* @Auther: jack.chen
* @Date: 2023/9/18 - 09 - 18 - 23:22
* @Description: com.msb.enum04
* @version: 1.0
*/
public enum Gender {
男,
女;
}
package com.msb.enum04;
/**
* @Auther: jack.chen
* @Date: 2023/9/18 - 09 - 18 - 23:22
* @Description: com.msb.enum04
* @version: 1.0
*/
public class Person {
private int age;
private String name;
private Gender sex;
public Person(int age, String name, Gender sex) {
this.age = age;
this.name = name;
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Gender getSex() {
return sex;
}
public void setSex(Gender sex) {
this.sex = sex;
}
@Override
public String toString() {
return "Person{" +
"age=" + age +
", name='" + name + '\'' +
", sex=" + sex +
'}';
}
}
package com.msb.enum04;
/**
* @Auther: jack.chen
* @Date: 2023/9/18 - 09 - 18 - 23:23
* @Description: com.msb.enum04
* @version: 1.0
*/
public class test {
public static void main(String[] args) {
Person p = new Person(19,"lili", Gender.男);
System.out.println(p);
Gender g = p.getSex();
switch (g){
case 男:
System.out.println("男人");
break;
case 女:
System.out.println("女人");
break;
}
}
}

java基础-Junit 注解 枚举-day12的更多相关文章
- Java基础教程:枚举类型
Java基础教程:枚举类型 枚举类型 枚举是将一具有类似特性的值归纳在一起的方法.比如,我们可以将周一到周日设计为一个枚举类型.彩虹的七种颜色设计为一个枚举类型. 常量实现枚举 我们通过定义常量的方式 ...
- Java基础教程——注解
注解 JDK 5开始,Java支持注解. 注解,Annotation,是一种代码里的特殊标记,这些标记可以在编译.类加载.运行时被读取并执行,而且不改变原有的逻辑. 注解可以用于:生成文档.编译检查. ...
- 【Java基础】关于枚举类你可能不知道的事
目录 谈谈枚举 1. 枚举类的定义 2. 枚举类的底层实现 3. 枚举类的序列化实现 4. 用枚举实现单列 5. 枚举实例的创建过程是线程安全的 谈谈枚举 如果一个类的对象个数是有限的而且是不变的,我 ...
- 【转载】JAVA基础:注解
原文:https://www.cnblogs.com/xdp-gacl/p/3622275.html#undefined 一.认识注解 注解(Annotation)很重要,未来的开发模式都是基于注解的 ...
- Java基础加强-(注解,动态代理,类加载器,servlet3.0新特性)
1. Annotation注解 1.1. Annotation概述 Annotation是JDK 5.0以后提供对元数据的支持,可以在编译.加载和运行时被读取,并执行相应的处理.所谓Annota ...
- Java基础加强-注解
/*注解(Annotation)*/(注解相当于一个特殊的类,注解类@interface A) 了解注解及java提供的几个基本注解 1. @SuppressWarnings 指示应该在注释元素(以及 ...
- Java基础篇——注解和反射
注解 注解Annotation可以被其他程序(编译器)读取,常见的有@override 内置注解 @Override 适用于修饰方法,表明重写父类中的一个方法 @Deprecated 用于修饰类.方法 ...
- java基础篇---注解(Annotation)
一.概念 Annontation是Java5开始引入的新特征.中文名称一般叫注解.它提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata)与程序元素(类.方法.成员变量等)进行关 ...
- Java基础教程(15)--枚举类型
枚举类型定义了一个枚举值的列表,每个值是一个标识符.例如,下面的语句声明了一个枚举类型,用来表示星期的可能情况: public enum Day { SUNDAY, MONDAY, TUESDAY ...
- java基础之注解
包含成员变量及方法的注解称之为元数据, 不包含任何成员的注解称之为标记. 用@interface定义注解, 使用类似于接口方法的方式来定义注解的属性,其中返回值成为属性的类型,方法名为属性的名称. p ...
随机推荐
- 安装MacOS - 初学者系列 - 学习者系列文章
上次安装了个VMWare Workstation 17.5.0的精简注册版,昨天打开软件,发现竟然支持了MacOS操作系统了,所以就想把安装的过程记录一下. 1. 准备虚拟机: 1) 下载精简版: 从 ...
- MybatisPlus高级特性之ActiveRecord模式
1.是什么? ActiveRecord是一种领域模型模式,特点是一个模型类对应关系型数据库中的一个表:而模型类的一个实例对应表中的一行记录.ActiveRecord 一直广受解释型动态语言 ( PHP ...
- 有一个正整数N可以分解成若干个正整数之和,问如何分解能使这些数的乘积最大?
这可真是个有意思的问题,之前好像在刷题的时候也碰到过类似的问题 问题的解决是:我们由均值不等式可以知道,当每个数相等的时候,有乘积最大. 那么所以实际上就是将这个数均分,假如正整数N为 k,假设分成n ...
- 【scikit-learn基础】--『预处理』之 分类编码
数据的预处理是数据分析,或者机器学习训练前的重要步骤.通过数据预处理,可以 提高数据质量,处理数据的缺失值.异常值和重复值等问题,增加数据的准确性和可靠性 整合不同数据,数据的来源和结构可能多种多样, ...
- Java中“100==100”为true,而"1000==1000"为false?
前言 今天跟大家聊一个有趣的话题,在Java中两个Integer对象做比较时,会产生意想不到的结果. 例如: Integer a = 100; Integer b = 100; System.out. ...
- 【C#】【IO】【实例】接上一个统计的新功能
先用Python来创建多层级文件夹: import os root_path = r"C:\Users\Desktop\文案整理\Practice" for item in ran ...
- .NET 8上进行PDF合并
前言:在.NET 8中使用itext7需安装 itext7 和 itext7.bouncy-castle-fips-adapter 两个Nuget包,或者使用Aspose.PDF.PdfSharpCo ...
- vue3+ts打开echarts的正确方式
实例项目使用 vite5 + vue3 + ts,项目地址 vite-vue3-charts,预览地址 https://weizwz.com/vite-vue3-charts 准备工作 1. 注册为百 ...
- 【笔记-错误】springCloud-alibaba-feign集成sentinel的启动报错
背景 随着Spring Cloud Alibaba 2.2.0.RELEASE的发布,终于可以使用最新的Spring Boot和Spring Cloud. 现在的环境 依赖 版本 Spring Boo ...
- Ubuntu 下建立 eclipse 启动图标,解决ADT没有菜单栏问题(转载)
原文地址 怎么在这应用程序里边建立图标$sudo gedit /usr/share/applications/Eclipse.desktop输入以下代码 [Desktop Entry]Name=Ecl ...