目录
- 三个系统基本注解
- 文档注解
- 导出JavaDoc文档(IDEA)
- JUnit注解
三个系统基本注解
注解:
也是一种注释。它是代码级别的注释。是用代码注释代码。不同于我们之前的单行注释//,多行注释/* * /
2、一个完整的注解,由三部分组成:
(1)声明
(2)使用
(3)读取
3、系统中预定义的三个最基本的注解
(1)@Override
作用:检查这个方法是否符合重写的要求
①方法名:相同
②形参列表:相同
③返回值类型
基本数据类型和void:相同
引用数据类型:<=
④修饰符
权限修饰符:>=
其他修饰符:private,static,final不能重写
(2)@SuppressWarnings(xx)
作用:抑制警告
(3)@Deprecated
作用:标记某个方法、类、属性等已过时
不建议程序员继续使用,因为可能有问题,也可能是不好用。
文档注解
文档注释相关的注解: 文档注释是Java特有的一种注释。
@author: 作者
@see:另请参阅
@since: 从xx版本引入的
@param:形参
格式:@param 形参名 形参数据类型 解释
要求:如果方法有几个形参,就写几个@param
@return:返回值
格式:@return 返回值类型 解释
要求:如果方法的返回值类型是void,就不用写了
@throws:抛出的异常 或 @execetion
格式:@throws 异常类型名 解释
要求:方法声明可能抛出几种异常,就写几个,没有就不写
建议:注释与代码要一致,如果不一致,会误导别人或自己
示例代码:
/**
* @author guochao
* @date 2021/10/6
*/
public class Array {
/**
*
* @param a int 其中一个整数
* @param b int 另一个整数
* @return int 返回一个整数
*/
public int add(int a,int b)
{
return a+b;
}
/**
*
* @param src 源文件
* @param dest 目标文件
* @throws FileNotFoundException 当文件找不到时会抛出异常
*/
public static void copyFile(String src,String dest) throws FileNotFoundException {
FileInputStream fis=new FileInputStream(src);
//...
}
@Test
public void printNum(){
System.out.println("this is a test");
}
}
class Array2 extends Array{
@Override
public int add(int a, int b) {
return 10+super.add(a, b);
}
}
导出JavaDoc文档(IDEA)
查看javadoc用法提示
步骤:
设置导出指令,导出目录
-encoding utf-8 源文件编码名称
-charset utf-8 用于跨平台查看生成的文档的字符集。
找到主文件并打开
JUnit注解
@Test:
用它标记的方法,就可以作为一个独立单元进行测试(白盒测试)
如果某个类中,有多个@Test标记的方法,那么如果没有选择运行哪一个,就都会运行,如果选择了,就运行其中一个
@Before:在xx之前
会在每一个@Test方法之前
@After:在xx之后
会在每一个@Test方法之后
要求:
(1)单元测试的方法都必须是public,因为是跨包执行
import org.junit.*;
(2)必须是无参的()
(3)必须是void
@BeforeClass:
会在类初始化阶段完成
@AfterClass
会在类卸载阶段完成
每个类只执行一次
@BeforeClass和@AfterClass而且要求方法是静态的
演示代码:
public void method(String str){
System.out.println("有参的method" + str);
}
@Test
public void testMethod(){
method("hello");
}
@Test
public void test1(){
System.out.println("hello junit1");
}
@Test
public void test2(){
System.out.println("hello junit2");
}
@Before
public void init(){
System.out.println("开始....");
}
@After
public void close(){
System.out.println("结束....");
}
@BeforeClass
public static void clinit(){
System.out.println("最开始....");
}
@AfterClass
public static void destroy(){
System.out.println("最后....");
}