java-Annotation注解和单元测试

Annotation注解和单元测试

  • 在Java中,注解(Annotations)是一种元数据,它提供了关于程序代码的额外信息。
  • 注解可以用来为类、方法、变量、参数等元素添加元数据信息,这些信息可以被编译器、解释器或其他工具使用。
  • @Override:用于指示一个方法将覆盖父类中的方法。
  • @Deprecated:用于标记已过时的方法、类或字段。
  • @SuppressWarnings:用于禁止特定类型的警告信息。
  • @FunctionalInterface:用于指示接口是一个函数式接口。
  • @Retention:指定注解的保留策略,包括SOURCE、CLASS和RUNTIME。
  • @Target:指定注解可以应用的元素类型,如TYPE、METHOD、FIELD等。
  • @Documented:用于指示将注解信息包含在Javadoc文档中。

元注解

  • 元注解(meta-annotation)是用于注解其他注解的特殊类型的注解。
  • 元注解提供了关于注解本身的元数据信息,可以用来控制注解的行为和作用范围。
  • @Target:指定注解可以应用的程序元素类型,如类、方法、字段等。
  • @Retention:指定注解的保留策略,包括源代码级别、编译时级别和运行时级别。
  • @Documented:指定注解是否包含在Java文档中。
  • @Inherited:指定注解是否可以被子类继承。

自定义注解

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface CustomAnnotation {
    String value() default "This is a custom annotation";
}

public class MyClass {

    @CustomAnnotation("Custom Annotation Example")
    public void myMethod() {
        // Your method implementation here
    }
}

JUnit单元测试

  • 所在的类必须是public,非抽象的,包含唯一的无参构造器
  • @Test标记的方法本身必须是public,非抽象的,非静态的,void无返回值,()无参数的
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;

public class MyMath {

    public int add(int a, int b) {
        return a + b;
    }

    @Test
    public void testAdd() {
        MyMath math = new MyMath();
        int result = math.add(3, 4);
        assertEquals(7, result);
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值