1 @是干什么的

@XXX叫做注解(批注)。它和注释是不一样的!

注解是代码里的特殊标志,这些标志可以在编译,类加载,运行时被读取,并执行相应的处理,以便于其他工具补充信息或者进行部署。


2 常用的注解

2.1 @Override

@Override是java提供的注解。它告诉编译器,接下来的方法是重写了父类的方法。

这个注解更多的提醒作用:

程序员想要重写方法。但手残了,方法名、参数打错了。IDE发现不对,报error

如果你重写了方法,但没写@Override,完全可以跑没有任何问题!

正是这一点容易让初学者以为这个注释没用!!!

怎么可能没用呢,怎么可能和注释的功能重合呢!

2.2 @Test

@Test是需要import JUnit库的,

方法执行的顺序:@Before > @Test > @After,无论@Test注解的方法是否运行错误,@Before和@After注解的方法都会被执行。

所以,@Before注解的方法通常用于资源申请,@After注解的方法通常用于资源的释放。

/*
方法执行的顺序:@Before > @Test > @After,
无论@Test注解的方法是否运行错误,@Before和@After注解的方法都会被执行。

@Before注解的方法通常用于资源申请,@After注解的方法通常用于资源的释放。
*/
public class CalculatorTest {

    @Before
    public void beforeTest(){
        System.out.println("======BeforeTest======");
    }

    @Test
    public void testAdd(){
        Calculator c = new Calculator();
        int result = c.add(1, 2);
        //通过Assert.assertEquals(“期望值”,“实际运行结果result”)可以测试是否结果符合需要
        Assert.assertEquals(4,result); 
    }

    @After
    public void afterTest(){
        System.out.println("======AfterTest======");
    }
}