自定义注解的简单解析

  • 注解定义

注解是一种能被添加到java代码中的元数据,类、方法、变量、参数和包都可以用注解来修饰。注解对于它所修饰的代码并没有直接的影响。

简单的来说,注解就是一种标记,可定义在类/方法/变量/参数/包,在程序编译或者运行的时候,会检测到这些标记,从而进行特殊的标记处理。

  • 使用场景
    Java自定义注解一般使用场景为:自定义注解+拦截器(比如说 登陆 拦截),自定义注解+AOP(在实现日志的打印)

  • Demo

import java.lang.annotation.*;

/*@Retention:自定义注解"生命力"
	SOURCE:注解将被编译器忽略掉
	CLASS:注解将被编译器记录在class文件中,但在运行时不会被虚拟机保留,这是一个默认的行为
	RUNTIME:注解将被编译器记录在class文件中,而且在运行时会被虚拟机保留,因此它们能通过反射被读取到
*/
/*@Target:用于表示修饰的类型
	TYPE:类,接口(包括注解类型)或枚举的声明
	FIELD:属性的声明
	METHOD:方法的声明 
	PARAMETER:方法形式参数声明
	CONSTRUCTOR:构造方法的声明
	LOCAL_VARIABLE:局部变量声明
	ANNOTATION_TYPE:注解类型声明
	PACKAGE:包的声明
*/
/*
	@Documented:被用来指定自定义注解是否能随着被定义的java文件生成到JavaDoc文档中
*/
/*此外,还有一个@Inherited注解,他的作用是 如果注解写在了父类的声明部分,那么子类的声明部分也能自动添加注解,但是该注解只针对@Target(value = {ElementType.TYPE})的情况下
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(value = {ElementType.METHOD})
@Documented
//@Inherited
public @interface FirstAnnotation {
	//这里的接口权限必须为public,不写的话默认为public
    String name(); 
    int age() default 12;
}

  • 后记

本章节只是简单的记录下 自定义注解的创建与解析。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值