ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java基础加强-注解

2021-08-06 03:00:52  阅读:198  来源: 互联网

标签:Runtime Java 定义 加强 注解 属性 狂牙 赋值


注解

元注解:

  • @Target 描述注解能够作用的位置

    • ElementType: - type 只能定义在类上 - method:作用这方法上 - field 狂牙作用于成员变量中

  • Retention:描述注解被保留的阶段

    • RetentionPolicy - Runtime运行阶段 - Source源码阶段

    • Documented:描述注解是否被抽取到api文档中

    • @Inherited:描述注解是否被子类继承

注解的属性要求:

1.属性的返回值类型只能有以下类型:

 - 基本数据类型
 - String
 - 枚举
 - 注解
 - 以上类型的数组

2.定义了以上属性,在使用时需要给属性赋值

1.如果定义属性是,适用Default关键字给属性默认初始化值,则适用注解时,可以省略赋值

2.如果只有一个属性需要赋值,并且属性的名称是value,则属性value狂牙省略,直接定义 值即可。

3.数组赋值时,值适用{}包裹,如果数组只有一个元素时,狂牙省略{}

 

使用(解析)注解

1.获取注解定义位置的对象

2.获取指定的注解

*.getAnnotation(Class)

3.调用这个注解中的抽象方法来获取配置的属性值

Class.*

 

注:此处有一个坑,若注解没有定义或定义的保留阶段早于Runtime,则运行时会遇到空指针错误(NullPointException)

这注解上添加元注解(@Retention(RetentionPoily.Runtime)即可解决

 

标签:Runtime,Java,定义,加强,注解,属性,狂牙,赋值
来源: https://www.cnblogs.com/zxiake/p/15106788.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有