zoukankan      html  css  js  c++  java
  • java之注解

    1.理解注解

      1.java 1.5开始,java增加了对元数据的支持也就是注解,可以为程序编译、类加载、运行时被读取,并执行相应的处理。

      2.Annotation修饰符可用于修饰包、类、构造器、方法、成员变量、参数、局部变量的声明。@XXX("name=value"...)

      3.注解的继承是相对于类而言的,对于接口时无效的 ;注解只继承父类的类注解,不继承方法注解

      4.不影响代码逻辑,只是辅助

      5.没有注解解释器,注解就没有意义

      6.如图 

       

    2.基本注解

    @Override :用来指定方法覆载的,它可以强制一个子类必须要覆盖父类的方法。

    @Deprecated :用来表示某个程序元素(类、方法等)已过时,当其他程序使用已过时的类、方法时,编译器将会给出警告。 

    @SuppressWarnings:注解会告知编译器阻止特殊类型的警告信息。@SuppressWarnings("unchecked")

    @SafeVarargs【Java7新增】:如果把一个没有定义泛型的集合,赋给一个有定义泛型的集合,会发生堆污染,会报错。@SafeVarargs可以抑制这个报错。

    @FunctionalInterface【Java8新增】:用来限制修饰的接口必须是一个函数式接口,不然会报错。

    @Repeatable【java8新增】:可重复的注解 元注解

    3.元注解

      1.元注解:描述注解的注解,java提供了四种元注解,即@Retention、@Target、@Documented、@Inherited、@Repeatable

      2.介绍这五中种元注解的使用

    @Retention 保留策略(指定一条注解保留多长时间)   RetentionPolicy类型取值有三个【source、class、runtime】

    @Retention(RetentionPolicy.RUNTIME)
    public @interface MyTag(){
        定义属性...          
    }

    -source: 不包含在类文件(.class文件)中的注解,但存在于源代码中

    -class : 包含在类文件中的注解,但JVM不需要将它们载入,默认保留策略

    -runtime:包含在类文件中的注解,并由JVM载入,通过反射获取该注释

     @Target  限制Annotaion能修饰类中的那些元素 (@Target(ElementType.ANNOTATION_TYPE))

    @Target(ElementType.FIELD)
    public @interface MyTag{
      自定义体  ...
    }
    • ANNOTATION_TYPE : 只能用来修饰Annotaion
    • FIELD : 修饰成员变量
    • CONSTRUCTOR : 只能用来修饰构造器
    • METHOD : 只能用来修饰方法
    • LOCAL_VARIABLE : 只能用来修饰局部变量
    • PACKAGE : 只能用来修饰包
    • PARAMETER : 只能用来修饰参数
    • TYPE : 只能用来修饰类、接口(包括注解类型)或枚举定义 相当于类的任何元素

     @Documented : 指定Annotaion是否能包含到javadoc生成的文档中。

     @Inherited : 指定Annotaion具有继承性,父类定义了这个注解,那么子类也会继承这个注解。

     @Repeatable : 可重复注解,表明标识该注解可以多次使用相同的声明或类型使用。

     4.自定义注解

    @Target(ElementType.METHOD)
    @Retention(RetentionPolicy.RUNTIME)
    public @interface Test {
       String description() default "描述";
    }
      
  • 相关阅读:
    结对第一次—疫情统计可视化(原型设计)
    软工实践寒假作业(2/2)
    test
    软工实践寒假作业(1/2)
    json的基本用法
    个人作业——软件工程实践总结&个人技术博客
    个人作业——软件评测
    结对第二次作业——某次疫情统计可视化的实现
    寒假作业(2/2)— 疫情统计
    软工实践寒假作业(1/2)
  • 原文地址:https://www.cnblogs.com/not-miss/p/10645008.html
Copyright © 2011-2022 走看看