---------------------- android培训,java培训、期待与您交流! ----------------------
注解
Annotation注解:
注解是jdk1.5的新特性,它相当于一种标记,在程序中加了注解就等于为程序打上某种标记,没加,则等于没有某种标记,以后javac编译器,开发工具和其他程序可以用反射来了解你的类及各种元素上是否有标记,就会根据注解的内容干相应的事,标记可以加在包,类,方法,字段,方法的参数上
Jdk1.5定义了7个注解接口,其中有3个是规则接口,可以用它们来注释源码中的各个项,其他4个是元注释,用于描述注释接口的行为属性:这7个注释接口是:
注解 | 应用场合 | 目的 |
任意 | 用于将条目标记为过时 | |
@SuppressWarnings | 除了包和注释之外的所有情况 | 阻止某个给定的警告信息 |
@Override | 方法 | 检查方法是否是覆盖某个类的方法 |
@Target | 注解 | 指定可以应用这个注解在哪些条目 |
@Retention | 注解 | 指定这个注解保留在哪个阶段 |
@Documented | 注解 | 指定这个注解应该包含在注解条目的文档中 |
@Inherited | 注解 | 指定一个注解,当它应用于某个类的时候,能够自动被它的子类继承 |
注解详解:
规则注解:
@Deprecated:
这是一个比较强大的注解,它强大的一点就是能够标记在任何不建议使用的条目上,当一个曾经写的代码过时了,需要些新的代码时,可以再原来的代码上添加@Deprecated注解,告诉别人:这是一个过时的代码,你可不要再用咯!
@SuppressWarnings:
这个注解里面要添加一些参数,这些参数通常是一些警告注解,比如Deprecated , SuppressWarnings的作用就是告诉编译器:我知道这里有警告,你不用管我,让我通过.
@Override:
这个注解从名称上可以直观得知道它的作用,没错,它就是标记在一些从父类覆盖的方法上,表示这是一个覆盖父类的方法.
元注释:
@Target:
用于标记一个注解,指定某个注解可以应用在哪些条目.以下是@Target注解的元素类型:
元素类型 | 注解适用场合 |
ANNOTATION_TYPE | 注解类型声明 |
PACKAGE | 包 |
TYPE | 类,接口,枚举等 |
METHOD | 方法 |
CONSTRUCTOR | 构造函数 |
FIELD | 成员字段 |
PARAMETER | 方法或构造函数参数 |
LOCAL_VARIABLE | 本地变量 |
@Retention:
这个注解用于指导一条注解应该保留多长时间,以下是@Retention的参数:
保留规则 | 描述 |
SOURCE | 只保留在源文件中,编译后就无效了 |
CLASS | 保留在.class文件中,但是虚拟机不将它载入 |
RUNTIME | 保留在运行阶段,虚拟机会将它载入字节码 |
注解属性:
一个注解相当于一个胸牌,如果你贴了一个胸牌,就知道你是哪里的学生,如果要知道你是哪里的哪个班的学生,就要添加一些属性,加了属性的标记效果为:@MyAnnotation(color=”red”);
定义基本类型的属性和应用属性
在注解类中添加String color();
有一个特殊的属性value,如果在使用注解的时候,只有一个value需要赋值,那么就可以省略value=例如:@Annotation(value=” abc ”) 可以写成@Annotation(” abc ”)
缺省属性:
当定义一个注解属性的时候,可以再属性后面加上default,表示默认的属性值,在调用这个注解的时候,如果没有给添加了default的属性赋值,那么这个属性的值就是默认值
---------------------- android培训,java培训、期待与您交流! ----------------------
详细请查看http://edu.csdn.net/heima