• 注解与反射_注解


    注解分类: 

            注解分为三类: 内置注解、元注解、自定义注解

    内置注解

    @SuppressWarnings
    

    镇压警告注解: 被注解的类或方法中将不会出现警告

    @Deprecated

    中划线注解: 用于注解不建议使用的类或方法,被注解者在被调用时会被添加中划线(不建议使用是出于开发者角度的建议,并不代表不能使用)

    @Override

    重写注解: 说明性质的注解,用于说明被注解方法重写自父类中的方法(不添加该注解亦可进行重写)

    元注解

            元注解即注解注解的注解

    @Target

    设置可以使用该注解的元素

    参数描述
    ElementType.Type可以修饰类、接口、注解或枚举类型
    ElementType.FIELD可以修饰属性(成员变量),包括枚举常量
    ElementType.METHOD可以修饰方法
    ElementType.PARAMETER可以修饰参数
    ElementType.CONSTRUCTOR可以修饰构造方法
    ElementType.LOCAL_VARIABLE可以修饰局部变量
    ElementType.ANNOTATION_TYPE可以修饰注解类
    ElementType.PACKAGE可以修饰包
    @Retention

    设置注解的生效范围

    RUNTIME > CLASS > SOURCE(自定义注解通常使用RUNTIME即可)
    @Documented
    

    设置注解可被生成在Javadoc

    @Inherited

    设置注解可被子类继承

    自定义注解

    1. import java.lang.annotation.ElementType;
    2. import java.lang.annotation.Retention;
    3. import java.lang.annotation.RetentionPolicy;
    4. import java.lang.annotation.Target;
    5. //通过@interface进行自定义注解时 自动继承java.lang.annotation.Annotation接口
    6. public class Part_03 {
    7. //注解的参数可以显示赋值
    8. //若参数无初始值则必须赋值
    9. @TestAnnotation(name = "alan")
    10. public void test(){
    11. }
    12. }
    13. @Target({ElementType.TYPE, ElementType.METHOD})
    14. @Retention(RetentionPolicy.RUNTIME)
    15. @interface TestAnnotation{
    16. //注解的参数:参数类型 + 参数名 + ()
    17. String name() default "";
    18. }

  • 相关阅读:
    单商户商城系统功能拆解04—店铺商品分类编辑
    BigDecimal舍入模式总结及运用场景分析
    【C++STL基础入门】排序和遍历容器
    设计模式(工厂方法-Factory Method)结构|原理|优缺点|场景|示例
    知识图谱1_2——下载neo4j客户端
    [网鼎杯 2018]Comment
    实战干货|String字符串intern()方法底层原理剖析
    springboot思维导图
    使用SecScanC2构建P2P去中心化网络实现反溯源
    Node.js 中间件是怎样工作的?
  • 原文地址:https://blog.csdn.net/Mudrock__/article/details/126212923