注解
写在开头:
本文只是简单介绍一下注解的功能和使用,没有详细介绍各种注解的作用,我觉得也没必要刻意去背注解。当后面学习框架时会带有相应的注解。目前我只学到JavaSE阶段,所以都是一些最简单的注解。
注解长什么样
@注解名
//我见过的注解有标记在类上的,类的成员变量上,成员方法上。都可以
常见的注解
@Override:当一个方法是重写父类或父接口的方法时,建议加上它。
- 如果一个方法遵循重写方法的要求时,加不加它没有影响。
- 但是,如果一个方法没有严格遵循重写的要求,那么不加它,可能编译器无法发现一下问题,如果加上它,编译器会按照重写的要求严格的进行检查。
@Deprecated:用于标记某个方法、类等已过时,不建议程序员使用它。经常在原码中看到它,例如Date日期类里就有很多。
@SuppressWarnings:idea右上角经常出现黄色!,这是警告,用这个注解可以抑制警告。
注解的作用
注解其实是一种代码注释,它在不改变当前代码逻辑的情况下,额外的增加一些辅助的功能。
@Override加不加它不影响方法重写的本质,但是加它可以额外增加一段 格式校验的代码,当然这段代码是在别的地方,在编译器中。
@Deprecated加它,不代表这个方法彻底不能用,只是给程序员一个提醒,要么这个方法很难用,要么有设计缺陷问题。
JUnit测试工具
这个是学习过程中必备的方便写测试类的工具。在JavaSE阶段只是把JUnit当成代替main方法的一种测试方法。JUnit是第三方的组件,不是JDK核心类库中的类,所以需要单独下载和引入它的库。
注意:
- 以后自己的类不要取名Test
- @Test标记在测试方法上,不是类
- 用@Test标记的方法,必须是public void 方法名任意()
- 用@Test标记的方法的所在类,必须是只有1个唯一的public,()的构造器,不能有其他构造器
-Deditable.java.test.console=true
lombok
小辣椒图标,Lombok项目是一个java库,它可以自动插入到编辑器和构建工具中,增强java的性能。不需要再写getter、setter或equals方法,只要有一个注解,就有一个功能齐全的构建器、自动记录变量等等。
package com.gj.bean;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data //自动生成get/set,equals,hashCode,toString
@NoArgsConstructor //无参构造
@AllArgsConstructor //全参构造
public class Teacher {
private String name;
private double salary;
}
package com.gj.bean;
public class TestTeacher {
public static void main(String[] args) {
Teacher t = new Teacher("耿健",15000);
Teacher t2 = new Teacher();
System.out.println(t);
System.out.println(t2);
}
}