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的更多相关文章

  1. Java基础教程:枚举类型

    Java基础教程:枚举类型 枚举类型 枚举是将一具有类似特性的值归纳在一起的方法.比如,我们可以将周一到周日设计为一个枚举类型.彩虹的七种颜色设计为一个枚举类型. 常量实现枚举 我们通过定义常量的方式 ...

  2. Java基础教程——注解

    注解 JDK 5开始,Java支持注解. 注解,Annotation,是一种代码里的特殊标记,这些标记可以在编译.类加载.运行时被读取并执行,而且不改变原有的逻辑. 注解可以用于:生成文档.编译检查. ...

  3. 【Java基础】关于枚举类你可能不知道的事

    目录 谈谈枚举 1. 枚举类的定义 2. 枚举类的底层实现 3. 枚举类的序列化实现 4. 用枚举实现单列 5. 枚举实例的创建过程是线程安全的 谈谈枚举 如果一个类的对象个数是有限的而且是不变的,我 ...

  4. 【转载】JAVA基础:注解

    原文:https://www.cnblogs.com/xdp-gacl/p/3622275.html#undefined 一.认识注解 注解(Annotation)很重要,未来的开发模式都是基于注解的 ...

  5. Java基础加强-(注解,动态代理,类加载器,servlet3.0新特性)

    1.   Annotation注解 1.1.  Annotation概述 Annotation是JDK 5.0以后提供对元数据的支持,可以在编译.加载和运行时被读取,并执行相应的处理.所谓Annota ...

  6. Java基础加强-注解

    /*注解(Annotation)*/(注解相当于一个特殊的类,注解类@interface A) 了解注解及java提供的几个基本注解 1. @SuppressWarnings 指示应该在注释元素(以及 ...

  7. Java基础篇——注解和反射

    注解 注解Annotation可以被其他程序(编译器)读取,常见的有@override 内置注解 @Override 适用于修饰方法,表明重写父类中的一个方法 @Deprecated 用于修饰类.方法 ...

  8. java基础篇---注解(Annotation)

    一.概念 Annontation是Java5开始引入的新特征.中文名称一般叫注解.它提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata)与程序元素(类.方法.成员变量等)进行关 ...

  9. Java基础教程(15)--枚举类型

      枚举类型定义了一个枚举值的列表,每个值是一个标识符.例如,下面的语句声明了一个枚举类型,用来表示星期的可能情况: public enum Day { SUNDAY, MONDAY, TUESDAY ...

  10. java基础之注解

    包含成员变量及方法的注解称之为元数据, 不包含任何成员的注解称之为标记. 用@interface定义注解, 使用类似于接口方法的方式来定义注解的属性,其中返回值成为属性的类型,方法名为属性的名称. p ...

随机推荐

  1. 盘点前端的那些Ajax请求:从ES5到React

    说起前端开发,Ajax请求是绕不开的技术点.然而,程序语言更新换代越来越快,Ajax请求的方式也是各有不同. 在使用ES5开发的时候,我们还在使用最原始的XMLHttpRequest对象: // cr ...

  2. pytest框架学习-pytest_addoption钩子函数

    适用场景:一套自动化代码,多套环境. pytest_addoption 允许用户自定义注册一个命令行参数,方便用户通过命令行参数的形式给 pytest 传递不同的参数进行不同测试场景的切换. pyte ...

  3. Odoo16—国际化翻译

    开发odoo系统模块的时候,如果一开始就有国际化的需求,无论是模型的定义还是视图的构建,建议使用英语作为第一语言:一方面,英语本身就是一种国际化的语言:另一方面,odoo内置模型字段描述如Create ...

  4. 为什么说UUID是唯一的?

    在数字时代,我们需要一种能够唯一标识各种实体的方法.通用唯一标识符(UUID)正是为满足这一需求而诞生的.本文将从多个方面介绍UUID,探讨它为何成为通用唯一标识符,以及为什么说UUID是唯一的. U ...

  5. 利用腾讯快捷登录协议截取 QQ ClientKey / QQKey 实战课程

    本文主要通过利用腾讯网页快捷登录协议来模拟访问并截取已登录 QQ 客户端的Token.Uin.ClientKey.Skey.P_skey等. Step 1. https://ssl.xui.ptlog ...

  6. 在ASP.NET Core微服务架构下使用RabbitMQ如何实现CQRS模式

    前言 在现代软件开发中,微服务架构和CQRS模式都是备受关注的技术趋势.微服务架构通过将应用程序拆分为一系列小型.自治的服务,提供了更好的可伸缩性和灵活性.而CQRS模式则通过将读操作和写操作分离,优 ...

  7. STM32CubeMX教程12 DMA 直接内存读取

    使用STM32CubeMX软件配置STM32F407开发板上串口USART1进行DMA传输数据,然后实现与实验"STM32CubeMX教程9 USART/UART 异步通信"相同的 ...

  8. ElasticSearch-2

    原文链接:https://gaoyubo.cn/blogs/cbe60a4d.html 一.DSL查询文档 1.1DSL查询分类 Elasticsearch提供了基于JSON的DSL(Domain S ...

  9. java中获取内网IP

    package com.dashan.utils.iputils; import org.apache.commons.lang.StringUtils; import javax.servlet.h ...

  10. 探究Python源码,终于弄懂了字符串驻留技术

    摘要:在本文中,我们将深入研究 Python 的内部实现,并了解 Python 如何使用一种名为字符串驻留(String Interning)的技术,实现解释器的高性能. 每种编程语言为了表现出色,并 ...