Java--注解
什么是注解(注解=标签)
类属性方法进行标注和解释,不影响代码的执行
定义:public @interface TestAnnotation{ }
创建一个类 Test,然后在类定义的地方加上 @TestAnnotation 就可以用TestAnnotation 注解这个类
可以简单理解为将 TestAnnotation 这张标签贴到 fest 这个类上面,但是目前该注解只是一个空注解(相当于空标签),没有任何意义和作用
5种元注解
定义注解的注解
特殊标签
元注解也是一张标签,但是它是一张特殊的标签,它的作用和目的就是给其他普通的标签进行解释说明
@Retention 保留期,注解的存活时间
@Documented 文档JDK帮助文档
@Target 指定注解运用的地方(类,属性,方法)
@Inherited 复用,继承该类的子类可以继承该注解
@Repeatable 用于注解的值可以同时取多个
注解属性
注解的属性也叫做成员变量,注解只有成员变量,没有方法。注解的成员变量在注解的定义中以“无形参的方法”形式来声明,其方法名定义了该成员变量的名字,其返回值定义了该成员变量的类型。
@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME
public @interface TestAnnotation {
int id();String msg();
//定义了 TestAnnotation 这个注解中拥有id 和 msg 两个属性
@TestAnnotation(id=3,msg="hello annotation"
public class Test { }
//在使用的时候应该给注解属性进行赋值。赋值的方式是在注解的括号内以 value=””的形式,多个属性之前用逗号隔开
Java预置注解(@Deprecated)
直接使用
@Override 子类重写父类的方法
@SuppressWarning 阻止警告
@SafeVarargs 不要用参数
@FunctionalInterface 函数接口注解
注解解析原理
反射机制
注解使用场景
框架中大量使用/编译器/APT(非开发者)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通