大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。
Java学习之注解篇
0x00 前言
续上篇文章,这篇文章就来写一下注解的相关内容。
0x01 注解概述
Java注解(Annotation)又称Java标注,是JDK5.0约会的一种注释机制。 和Javadoc不同,Java标注可以通过反射获取标注内容。在编译器生成类文件时,标注可以被嵌入到字节码中。 Java虚拟机可以保留注释内容,在运行时可以获取到注释内容。当然它也支持自定义Java注释。
它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。
作用分类: ①编写文档:通过代码里标识的元数据生成文档【生成文档doc文档】 ② 代码分析:通过代码里标识的元数据对代码进行分析【使用反射】 ③编译检查:通过代码里标识的元数据让编译器能够实现基本的编译检查【Override】
0x02 注解定义
jdk自带注解
代码语言:javascript复制* @Override :检测被该注解标注的方法是否是继承自父类(接口)的
* @Deprecated:该注解标注的内容,表示已过时
* @SuppressWarnings:压制警告
Deprecated注解:
代码语言:javascript复制@Deprecated
public void method1(){
System.out.println("a");
}
被该注解修饰过后代表该方法已过时,调用时候会出现一条横线。
字定义注解
格式:
代码语言:javascript复制 元注解
public @interface 注解名称{
属性列表;
}
注解本质上就是一个接口,该接口默认继承Annotation接口。注解里面可以定义抽象方法。
MyAnoin:
代码语言:javascript复制package Domain;
public @interface MyAnoin {
int age();
String name() default "zhangshan"; //默认值为zhangshan
String[] strs(); //数组
}
shu:
代码语言:javascript复制package Domain;
@MyAnoin(age = 1,name = "lishi",strs={"abc","ii"})
public class zhu {
}
0x03 结尾
这篇文章内容并不多,本来应该是和上篇文章放一起的,想想还是分离开来的好。到时候也方便查找。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/119945.html原文链接:https://javaforall.cn