注解(小白入门级)
注解的概念:是说明程序的,给计算机看到
注释的概念:用文字描述程序的,给你的接班人看的
定义:注解(annotation),也叫元数据.一种代码级别的说明.他是JDK1.5及以后版本引入的特性,与类,接口,枚举是同一个层次.它可以声明在包,类,字段.方法,方法参数,局部变量等前面,用来对这些元素进行说明,注释
注解的作用:
1,编写文档,生成doc文档
2,代码分析:通过代码里的标识的注解对代码进行分析(反射)
3编译检查(Override)
编写一个类
package com.anxing.demo;
/**
* @author Administrator
* @since 1.5
* @version 1.0
*/
public class AnnoDemo {
/**
*
* @param a 整数
* @param b 整数
* @return 两数之和
*/
public int add(int a,int b){
return a+b;
}
}
在idea中点击类名,Ctrl+c进行复制.复制到桌面一个空的文件夹里,在进行编辑.删除包名,方便抽取
编辑完后再当前文件夹下进入黑窗口
通过javadoc 文件名生成doc文档
生成好了后文件夹下就多了这么多东西.打开index.html就可以看到了
刚刚因为编码问题,所以生成文档里有些许乱码.记住设置UTF-8哦
JDK中预定义的注解
@Override :检测被此注解标注的方法是否继承父类(父接口)
@Deprecated :该注解标注的内容,表示已过时
@SuppressWarnings: 压制警告 @SuppressWarnings(“all”)一般传参all
自定义注解
注解的格式:
元注解
public @interface MyAnno{}
注解的本质:
public interface MyAnno extends java.annotation.Annotation{ }
想了解怎么得出来的可以留言哦
属性:接口中的抽象方法
要求:属性的返回值类型
1基本数据类型(四类八种)
2String
3枚举
4注解
5以上类型的数组
要求2:定义了属性在使用时需要对其赋值,如果定义属性时,可以使用default关键字给其默认值
如果只有一个属性需要赋值,并且属性名叫value.那么使用的时候value可以省略
元注解
用于描述注解的注解
@Target:描述注解能够使用的位置 一般使用 TYPE(类上) FIELD(属性上) METHOD(方法上)
@Retention:描述注解被保留的阶段 一般使用@Retention(RetentionPolicy.RUNTIME)保留到字节码文件中,能被jvm识别
@Documented:描述注解是否被抽取到api文档中
@Inherited: 描述注解是否被子类继承
在程序中使用(解析注解):通过反射获取注解中定义的属性值
1获取注解定义的位置的对象(Class,Method,Field)
2获取指定的注解(getAnnotation(Class))
3调用注解中的抽象方法