黑马程序员技术交流社区

标题: 注解的学习 [打印本页]

作者: 杨栋    时间: 2013-9-5 13:29
标题: 注解的学习
package AnnotationDemo;
/**
*
* 注解是JDK1.5新特性,比枚举要重要所以必须学透彻。
* 定义:注解就相当于给程序加了一个标记,加了注解就相当于加上了某种标记,
*         java变稀奇开发工具和其它程序可以用反射来了解你的类及各种元素上有没有何种标记
*         标记可以加载包,类,字段,方法,方法的参数,以及局部变量上。
* 注解生命周期的三个阶段:
*         .java----->.class------>内存中的字节码
* 注解生命的默认阶段是在.CLASS阶段。
* @Retention(RetentionPolicy.RUNTIME)保留到运行时,也就是最终阶段
*         一般的注解默认的生命周期是到.CLASS阶段,在程序运行时网内存中加载类的时候就会把注解去掉,
* 但是如果某个注解的类文件上加上@Retention(RetentionPolicy.RUNTIME)那么这个注解就可以一直保留到运行时;
* @Retention(RetentionPolicy.SOURCE)定义生命周期在源文件阶段,过了这个阶段就没了
* @Retention(RetentionPolicy.CLASS)定义生命周期在.class阶段,过了这个阶段就没了,默认阶段
* */

@ItcastAnnotation
public class Demo {

    public static void main(String[] args) {
        //判断Demo类的字节码上有没有ItcastAnnotation这个注解
        if(Demo.class.isAnnotationPresent(ItcastAnnotation.class))
        {
            //获取这个注解
            ItcastAnnotation an=(ItcastAnnotation)Demo.class.getAnnotation(ItcastAnnotation.class);
            System.out.println(an);
        }
}
}


import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
//这个注解叫元注解,作用是保留ItcastAnnotation到运行时
@Retention(RetentionPolicy.RUNTIME)
//定义一个注解
public @interface ItcastAnnotation {

}



作者: 张歆明    时间: 2013-9-5 14:04
默默支持下
作者: 杨栋    时间: 2013-9-5 15:23
张歆明 发表于 2013-9-5 14:04
默默支持下

恩 谢谢 刚才接到老师电话说我可以进入24期,但是技术分还差6分,急死我了{:soso_e105:}

作者: 张歆明    时间: 2013-9-5 15:32
杨栋 发表于 2013-9-5 15:23
恩 谢谢 刚才接到老师电话说我可以进入24期,但是技术分还差6分,急死我了
...

赶紧找版主

作者: 杨栋    时间: 2013-9-5 15:51
本帖最后由 杨栋 于 2013-9-5 16:47 编辑
张歆明 发表于 2013-9-5 15:32
赶紧找版主

谁是版主?求教
还有这验证码什么等级时候能去掉


作者: 黄兴旺    时间: 2013-9-5 16:52
杨栋 发表于 2013-9-5 15:51
谁是版主?求教
还有这验证码什么等级时候能去掉

验证码了发个贴就可以消除的..去论坛回答下问题就有技术分了。

作者: 杨栋    时间: 2013-9-5 17:45
黄兴旺 发表于 2013-9-5 16:52
验证码了发个贴就可以消除的..去论坛回答下问题就有技术分了。

我都发过N多的帖子了,怎么还有验证码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2