黑马程序员__Java中的注解

                                                                        ---------------------- 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值