一,使用JUnit必须注意的几点
1.必须是无参数void返回类型的非静态方法
2.使用JUnit的类必须拥有一个无参的公开构造方法
二,其他注解
@BeforeClass – 在测试时只运行一次。必须加在static方法-不可以单独运行,在运行整个类时有可能会出错。
@AfterClass – 在测试结束时只运行一次。static方法。
@Before– 每个测试方法运行一次。必须加到非静态方法上。
@After– 每个测试方法完成之后运行一次。非静态。
三,java.lang包中三个预定注解 (这三个注解)
①Override:标识某一个方法是否正确覆盖了它的父类的方法。
②Deprecated:表示已经不建议使用这个类成员了。 它是一个标记注解。
③SuppressWarnings:用来抑制警告信息。
四,自定义注解
public @interface MyAnno{
public String schoolName();
}
//有默认值的
public @interface MyAnno{
public String schoolName() default schoolName="湖南城市学院";
}
五,对注解的注解
1,指定目标@Target ——————规定了注解可以加在那些地方,比如类上,方法上和变量上。用法:@Target(ElementType.METHOD)
2, 设置保持性@Retention
① CLASS 编译器将把注释记录在类文件中,但在运行时 VM 不需要保留注释。即保存在源文件中。
②RUNTIME 编译器将把注释记录在类文件中,在运行时 VM 将保留注释,因此可以反射性地读取.即源文件和运行时都会存在。
③SOURCE 编译器要丢弃的注释.
源码注解(RetentionPolicy.SOURCE)的生命周期只存在Java源文件这一阶段,是3种生命周期中最短的注解。当在Java源程序上加了一个注解,这个Java源程序要由javac去编译,javac把java源文件编译成.class文件,在编译成class时会把Java源程序上的源码注解给去掉。需要注意的是,在编译器处理期间源码注解还存在,即注解处理器Processor 也能处理源码注解,编译器处理完之后就没有该注解信息了。
3,添加公共文档Document
在默认的情况下在使用javadoc自动生成文档时,注解将被忽略掉。如果想在文档中也包含注解,必须使用Documented为文档注解。
4,设置继承Inherited
在默认的情况下,父类的注解并不会被子类继承。如果要继承,就必须加上Inherited注解。
六,使用注解
Class c=Class.forName("xxxxx");
c.isAnnotationPresent(MyAnno.Class);