黑马程序员__Java中的注解
来源:互联网 发布:java mq消息队列 编辑:程序博客网 时间:2024/05/22 14:06
----------------------android培训、java培训、期待与您交流! ----------------------
注解:相当于一种标记。可以加在包、类、方法、成员变量、局部变量和方法参数上。
开发工具和其他程序可以用反射来了解类及各种元素上有无何种标记,有什么标记,就干什么标记的事。
@SuppressWarnings:取消显示指定的编译器警告SOURCE阶段
@Deprecated:过时标记(eclipse中,会在过时的方法、字段等上面画一横杠)RUNTIME阶段
@Override:重写标记SOURCE阶段
自定义注释:public @Interface 注释名{}注释默认的在class文件阶段
注释的三个阶段:RetentionPolicy.SOURCE-->源文件阶段
RetentionPolicy.CLASS-->class文件阶段
RetentionPolicy.RUNTIME-->字节码文件阶段
class文件和字节码文件是不同,从源文件到字节码文件的过程-->源文件中有注释,编译器将源文件编译成class文件,可能会将源文件中的有些注释去掉,加载器将class文件经过检查等操作之后加载到内存成为字节码文件,也会将一些注释去掉。
修改注释的作用阶段:在自定义注释上面添加元注释-->@Retention(RetentionPolicy.RUNTIME)
注释可以加在哪些上面?-->可以加在注释、包、类 接口 枚举、方法、构造方法、成员变量、局部变量和方法参数上。
ANNOTATION_TYPE、PACKAGE、TYPE、METHOD、CONSTRUCTOR、FIELD、LACAL_VARIABLE、PARAMETER
自定义的注释限定作用域:在自定义注释上面添加元注释-->@Target(Element.TYPE)
注解的属性及属性应用:注解中属性返回值的类型,不能是普通类类型。只能是:8种基本类型、String、Class、Enum、Annotation和这些类型的数组
1.基本类型的属性 在注释类中添加 String color();
String color() default "blue";//为属性添加缺省值
@ItcastAnnotation(color="red")
2.value属性 当注释类中,只为value赋值,没有其他属性或其他属性都使用缺省值,这时,可以省略value=。如,SuppressWarnings("deprecation")
3.数组属性 int[] arrayAttr();--> @ItcastAnnocation(arrauAttr={1,2,3})
int[] arrayAttr() dafault {1,2,3}
int[] arrayAttr() default 1; @ItcastAnnocation(arrauAttr=1)//数组中属性值只有一个时。
4.枚举类型的属性 EnumTest.TrafficLamp lamp();-->@ItcastAnnocation(lamp=EnumTest.TrafficLamp.YELLOW); -->System.out.println(annotation.lamp());
5.注释类型的属性 MetaAnnotation myAnnotation();-->@ItcastAnnocation(myAnnotation=@MetaAnnotation("xxx"))-->System.out.println(annotation.myAnnotation().value());
6.Class类型的属性 Class cla();-->@ItcastAnnocation(cla=String.class)-->System.out.println(annotation.cla());
---------------------- android培训、java培训、期待与您交流!
----------------------详细请查看:http://edu.csdn.net/heima
- 黑马程序员__Java中的注解
- 黑马程序员__JAVA高新技术--反射、注解总结
- 黑马程序员__Java中的代理类
- 黑马程序员__Java中的泛型
- 黑马程序员__Java概述
- 黑马程序员__Java高新技术一
- 黑马程序员__Java高新技术二
- 黑马程序员__Java 集合学习
- 黑马程序员__java 数组学习
- 黑马程序员__java GUI学习
- 黑马程序员__Java基础语法
- 黑马程序员__java基础__GUI
- 黑马程序员__Java接口定义
- 黑马程序员__Java异常处理
- 黑马程序员__Java输入输出流
- 黑马程序员__Java多线程Thread
- 黑马程序员__java之反射
- 黑马程序员__java设计模式
- 关于this和super关键字的一点整理
- ubuntu下使用Xdebug
- 蛋疼的NDK r7的NUL文件名bug
- 黑马程序员__Java中的泛型
- 从一道面试题解析static的作用
- 黑马程序员__Java中的注解
- 【EL】EL表达式
- HTML笔记 (五)
- 欢迎正在学习《嵌入式技术》课程的同学报名参加
- Linux图形界面中客户端、服务器、窗口管理器之间的关系
- 开博了哦
- 阻碍Web开放的不是WebKit,而是Web开发者的短视
- 一周文章精选:Android官方文档之Web Apps开发
- Java与Unicode