注解Annotation
1.1 简介
- 注解Annotation,也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与 类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对 这些元素进行说明,注释。
- *与注释comment的区别:
A.注释用于对代码进行解释说明 主要是提供给程序员查看 注解可被其他程序读取
B.注解用于对代码进行解释说明 主要用于给jvm来识别
1.2 内置注解
@Override重写
@Deprecated不推荐使用,可用于修饰方法,属性,类,(
多一条删除线)@SuppressWarings警告抑制
1.3 元注解
用于注释其他注解
- @Target:用于描述注解的使用范围,表示我们的注解可以用在哪些地方;
- @Retention:指示注释类型的注释要保留多久。表示我们的注解在什么级别有效,用于描述注解的生命周期(SOURCE<CLASS<RUNTIME)
- @Documented:文档化。表示是否将我们的注解生成在javadoc中
- @Inherited:说明子类可以继承父类中的该注解
1.4 自定义注解@Interface
package com.xxx.forenoon; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Target({ElementType.TYPE, ElementType.METHOD})//可作用在类上,方法上 @Retention(RetentionPolicy.RUNTIME) public @interface MyAnnotation2 { //注解参数格式:参数类型 参数名(); String name() default "";//如果加上默认值default ”“,就可以不用写参数名 int age() default 18; int id() default -1;//默认值为-1时,代表不存在 String[] schools() default {"西华大学","华北电力大学"}; } @Target({ElementType.TYPE,ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @interface MyAnnotation3 {//只能由一个public修饰的注解 //如果制作一个注解参数,建议写成value String value(); }
package com.xxx.forenoon; public class Test03 { //自定义注解 //如果注解没有默认值,就必须赋值 @MyAnnotation2(name = "参数名") public void test1(){ } @MyAnnotation3("当参数名是value时,可以省略不写value = ") public void test2() { } }
本文作者:Ritchie里其
本文链接:https://www.cnblogs.com/wang-zeyu/p/16836967.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步