• 注解


    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 {

    }

  • 相关阅读:
    Linux 信号signal处理机制
    va_start、va_arg、va_end、va_copy 可变参函数
    辛星笔记——VIM学习篇(推荐阅读)
    每个程序员都应该读的书
    igmpproxy源代码学习——配置信息加载 loadConfig
    windows下gvim搭建IDE
    插入排序与循环不变式
    6个变态的C语言程序
    安卓原生百度地图(5)导航和语音播报
    安卓原生百度地图(4)路线规划
  • 原文地址:https://www.cnblogs.com/james1207/p/3304005.html
Copyright © 2020-2023  润新知