Annotation
1.注解的写法
@xxx[(一些信息)]
2.注解放置位置
类的上面 属性上面 方法上面 构造方法上面 参数前面
3.注解的作用
1.用来充当注释的作用(仅仅是一个文字的说明) @Deprecated
2.用来做代码的检测(验证) @Override
*3.可以携带一些信息(内容) 文件.properties .xml 注解
4.java中有一些写好的注解供我们使用
@Deprecated 用来说明方法是废弃的
@Override 用来做代码检测 检测此方法是否是一个重写方法
@SuppressWarnings(信息) String[] {""} 如果数组内的元素只有一个长度 可以省略{}
unused 变量定义后未被使用
serial 类实现了序列化接口 不添加序列化ID号
rawtypes 集合没有定义泛型
deprecation 方法已废弃
*unchecked 出现了泛型的问题 可以不检测
all 包含了以上所有(不推荐)
5.注解中可以携带信息 可以不携带
信息不能随便写 信息的类型只能是如下的类型
1.基本数据类型
2.String类型
3.枚举类型enum
4.注解类型@
5.数组类型[] 数组的内部需要如上的四种类型
4.自定义注解类型
1.通过@interface定义一个新的注解类型
2.写法与接口相似(可以利用接口的特点来记忆注解)
可以描述public static final的属性 比较少见
可以描述public abstract的方法 方法要求必须有返回值 返回值类型是如上那些
3.元注解
注解定义完成后 还需要很多细致的说明(利用Java提供好的注解--元注解)
元注解(也是注解 不是拿来使用的 是用来说明注解)
@Target 描述当前的这个注解可以放置在哪里写的
@Retention 描述当前的这个注解存在什么作用域中的,默认为runtime
源代码文件--->编译--->字节码文件--->加载--->内存执行
SOURCE CLASS RUNTIME
@Inherited 描述当前这个注解是否能被子类对象继承
@Document 描述当前这个注解能否被文档所记录
4.使用自定义注解
问题1.在注解中描述了一个方法 方法没有参数 返回值String[]
使用注解时 需要传递参数
理解为:传递的参数 作为返回值 给了别人
问题2.使用别人写好方法名 我们自己定义的方法必须写方法名
只有当注解中只有一个方法,且方法名为value时,方法名可以省略
如果传递的信息是一个数组 数组内只有一个元素 可以省略{}
如何解析注解内携带的信息(反射机制)
5.注解应用场景
Properties类的使用
java.util
继承HashTable
使用方式像是map集合 value=getProperty(key)方法
读取的信息是文件
文件的后缀名.properties
文件里面key=value
1.注解写法:
@xxxxx(信息)
2.注解放置位置
类 方法 属性 构造 变量 参数(前面)
3.java中定义好的注解
@Deprecated 废弃的
@Override 检测方法是否是重写
@SuppressWarnings 去掉程序中的警告(尽量不要用 尽量通过编写代码去掉警告)
unused serial rawtypes deprecation unchecked all
4.自定义注解
描述一个自己的类 @interface
类的上面通过元注解来描述
@Target
@Retention
@Inherited
想要携带一些信息 自定义注解类型 添加方法
方法要求必须有返回值 返回值类型 基本数据类型 枚举 注解 数组
方法的作用将我们传递的信息 搬走了 交给别人
5.注解的作用
充当注释 仅仅是一个文字说明
代码检测 @Override
*携带信息
6.如何访问到注解对象
如何获取到里面的信息(需要反射机制)
7.注解在开发中应用的场景
============================================================
如何利用反射技术 解析注解(内部的携带的信息)
1.获取类Class
2.获取类中的成员 类 属性 方法 构造方法
3.Annotation a=成员.getAnnotation(注解类型.class)
4.注解对象 执行方法获取返回结果
============================================================
java基本语法结构
数据类型 运算符 控制语句 数组使用
java面向对象编程思想
类和对象 类中的成员 方法重载
类和类的关系 特征 抽象类 接口 多态
设计模式 内存机制 垃圾回收
java中提供的工具类
包装类 日期 数字 字符串
集合相关 异常
I/O 文件 流 递归
多线程
反射注解