注解简单学习

1.内置注解

JavaSE中内置三个标准注解,定义在java.lang中

  • @override此注释只用于修辞方法,表示一个方法声明打算重写另一个方法的声明。

  • @Deprecated此注解可以用于修辞方法、属性、类,表示不推荐使用,但是可以使用,存在更好的方式。

  • @SuppressWarnings用来抑制编译时的警告信息,需要添加参数使用。

    @SuppressWarnings(”all“)

    @SuppressWarnings(“unchecked”)

2.元注解

元注解就是负责注解其他注解,Java定义了4个标准meta-annotation类型,他们被用来提供对其他annotation类型作说明。

  • @Target:用于描述注解的使用范围。

  • @Retention:表示在什么级别保存该注释信息,用于描述注解的生命周期。

    SOURCE<CLASS<RUNTIME

  • @Document:说明该注解将被包含javadoc中。

  • @Inherited:说明子类可以继承父类中该注解。

public class Annotion {

    @TestAnnotion    //定义的注解
	public void testMethod() {
		
	}
}

//定义一个简单注解

//1.注解使用范围
@Target (value= {ElementType.METHOD,ElementType.TYPE} )

//2.Retention注解有效范围(runtime>class>sources)
@Retention(value=RetentionPolicy.RUNTIME)

//3.Inherited 可以继承父类注解
@Inherited

//该注解将被包含javadoc中
@Document
@interface TestAnnotion{
	
}

3.自定义注解

使用@interface(自定义注解关键词)自定义注解时自动继承了Java.lang.annotion.Annotion接口

格式 :@interface 注解名{定义内容}

class TestA {
	//注解  无默认值需要给参数赋值,有default可不用,赋值顺序无要求
	@TestAnnotion2(months=6,days=4)
	public void test() {
		
	}
}
//元注解
@Target (value= {ElementType.METHOD,ElementType.TYPE} )
@Retention(value=RetentionPolicy.RUNTIME)
@interface TestAnnotion2{
	//以下为注解的参数而不是方法!!!
	//注解的参数:参数类型  参数名();
	int years()  default 2020;
	int months();
	int days();
	String[] weaks() default {"Friday"};//数组参数类型
	
}
//如果只有一个参数,参数名建议为value,赋值时不需要参数名可直接赋值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值