java 注解

注解:

注解(Annotation) 被称之为元数据(Metadata),用于修饰解释包、类、方法、属性、构造器、局部变量等数据信息;

使用的时候前面加上:@符号,作为一个修饰符使用,三种基本的Annotation:

  • @Override:表重写父类方法,只能用于方法;

    @Target(ElementType.METHOD)  // 只能修饰方法;@Tartget 是修饰注解的注解,称元注解;
    @Retention(RetentionPolicy.SOURCE)
    public @interface Override {
    }
    
  • @Deprecated:表某个程序元素【类和方法】过时了,为了版本升级过渡;

    @Documented
    @Retention(RetentionPolicy.RUNTIME)
    @Target(value={CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE})
    public @interface Deprecated {
    }
    
  • @SuppressWarnings:抑制警告;

    • String[] value的值可以有:all ...
    @Target({TYPE, FIELD, METHOD, PARAMETER, CONSTRUCTOR, LOCAL_VARIABLE})
    @Retention(RetentionPolicy.SOURCE)
    public @interface SuppressWarnings {
        String[] value();
    }
    //eg
    @SuppressWarnings({"all"})
    
  • @interface:表明是注解类【在jdk 0.5加入】;

  • 注解的注解叫:元注解:

    • @Retention:指定注解的范围,共三种:
      • SOURCE:编译器使用后,丢弃;
      • CLASS:记录在class文件中,jvm 不会保留;
      • RUNTME:jvm保留注解,可以通过反射获取该注解;
    • @Target:指定注解可以使用的地方;
      • 也存在一个 ElementType[] value,ElementType 枚举类;
    • @Documented:指该注解是否会在javadoc中体现;
    • @Inherited:指子类回继承父类的这个注解;
posted @ 2025-02-18 22:12  烟雨断桥  阅读(6)  评论(0)    收藏  举报