Java注解及demo

常见的注解:

一、系统预定义的三个最基本的注解

  • @Override:它是又JDK的核心类库定义,读取它是由编译器
    作用:注释这个方法是一个“重写”的方法,让编译器对这个方法的签名进行检查
  • @SuppressWarnings(“all”):抑制警告
  • @Deprecated:告知编译器和程序员这个方法、属性已过时,不建议使用。

二、文档注释

  • 单行注释
  • 多行注释
  • 文档注释(Java特有)
    @param,@retrun,@throws,@author

三、单元测试相关注释

  • 声明:第三方声明,不是JDKsm
  • 有JUnit框架来读取
  • 使用
    (1)引入第三方回归测试框架jar
public class TestUnit {

	@Before
	public void Before(){
		System.out.println("before");
	}
	
	@Test
	public void t1() {
		System.out.println("ttt");
	}
	@Test
	public void t2() {
		System.out.println("ttt");
	}
	@After
	public void after(){
		System.out.println("after");
	}
	@BeforeClass
	public static void sb() {
		System.out.println("当前类类初始化执行");
	}
	@AfterClass
	public static void ab() {
		System.out.println("所以方法之后,只执行一次");
	}
}

四、自定义注解

/*
 * 自定义注解:
 * (1)声明
 * 格式 【修饰符】 @interface 注解名
 * (2)使用
 * (3)读取
 * 如果需要用“反射”读取某个注释,那么注释声明的时候,一定要增加@Retention(RetentionPolicy.RUNTIME)
 * 
 * (4)元注解:注解注解的注解,给注解加的注解,在注解声明时,在上面加的注解
 * @Target:标记这个注释可以用在xx位置。由ElementType枚举的常量对象来指定
 * 
 * @Retention(xx):标记这个这个注解可以滞留到xx阶段。
 * 这个声明周期又RetentionPolicy枚举的常量对象来指定。SOURCE(源代码),CLASS(字节码),RUNTIME(运行时)
 * 
 * @Documented
 * 作用:标记这个注解是否可以被javadoc.exe读取
 * 
 * @Inherited 是否可以被子类继承
 * 
 * (5)配置参数
 * 如果参数只有一个,并且名称是value,那就可以省略“参数名=”
 * 
 */
public class TestDefineAnnotation {
	public static void main(String[] args) {
		Class clazz= Myclass.class;
		MyAnnotation my = (MyAnnotation) clazz.getAnnotation(MyAnnotation.class);
		System.out.println(my);
	}
}
@MyAnnotation
class Myclass{
	@MyAnnotation("1")
	public void t1() {
		
	}
}
//声明注解
@Inherited
@Target({ElementType.METHOD,ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@interface MyAnnotation{
	String value() default "0";//配置参数
	
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值