• Java


    1. @Override重写   用来检查是否重写父类方法,拼写错误 

       @Deprecated 标识方法过时,当其他程序使用被标识过时的类时,编译器警告
       @SuppressWarnings 屏蔽编译器警告
    @SuppressWarnings(value = "unchecked")

    2. 自定义Annotation

    Annotation中的属性用方法定义
    @interface MyTag{
        String name();
        int age();
    }

    如果没指定default值,要传值

    class Test{
            @MyTag(name="xx",age=6)
            public void info(){
            }
    }

    指定后可以直接用

    @interface MyTag{
        String name() default "yeeku";
        int age() default 32;
    }
    class Test{
            // @MyTag(name="xx",age=6)
            @MyTag
            public void info(){
            }
    }

    3.提取信息

    Annotation[] aArray=Class.forName("Test").getMethod("info").getAnnotations();

    JDK源Annotation

    4.元Annotation

    @Retention 定义注释保留到什么时候

    @Retention(value=RetentionPolicy.RUNTIME)
    //注释保留到运行中,可以通过反射获取注释
    @Retention(RetentionPolicy.SOURCE)
    //直接丢弃注释
    @Retention(value=RetentionPolicy.CLASS)
    //注释记录在clss,JVM不保存

    @Target 定义注释可以修饰谁

    @Target(ElementType.ANNOTIATION_TYPE)
    //只能修饰Annotation
    @Target(ElementType.CONSTRUCTOR)
    //可以修饰构造器
    @Target(ElementType.FIELD)
    //只能修饰成员变量
    @Target(ElementType.LOCAL_VARIABLE)
    //局部变量
    @Target(ElementType.METHOD)
    //方法
    @Target(ElementType.PACKAGE)
    //
    @Target(ElementType.PARAMETER)
    //修饰参数
    @Target(ElementType.TYPE)
    //类、接口或枚举定义

    @Documented 指定被该元修饰的类被javadoc工具提取成文档

    @Inherited 被其修饰的Annotation具有继承性

    @Inherited
    public @interface Inheritable{
    }
    @Ingeritable
    class Base{
    }
    //这个继承了base的子类,自带Inheritable修饰
    public class TestInheritable extends Base{
      public static void main(String []arg){
        
    }
    }

    5. APT处理Annotation

    //还没看

  • 相关阅读:
    python中的运算符的分类以及使用方法
    python的变量的命名规则以及定义
    C#和Java在重写上的区别
    IIS6 伪静态
    【读书笔记】Linux源码注释
    计算机是如何启动的?
    XSHELL下直接下载文件到本地(Windows)
    [转载]Linux 环境下编译 0.11版本内核 kernel
    虚拟化技术
    CentOS 6.4 编译安装LLVM3.3,Clang和Libc++
  • 原文地址:https://www.cnblogs.com/jieyi/p/14269027.html
Copyright © 2020-2023  润新知