例如查看@Overide的注解
@Target作用是位置,,作用在类上面,还是作用在方法上面
@Retention是它能被保留到什么时候。三个阶段。源码、class、runtime

定义注解类

改成@interface

在创建类的时候可以选择为Annotation类型。

Target

taget里面就一个属性,叫做value

它的类型是ElementType[]这个类型的

它其实就是一个枚举类型

所以我们就可以这么去使用


我们作用在MyAnno3这个类上


作用在方法上可以吗?在方法上加上就会报错,。

成员变量上也不能加


value值是一个数组,加上作用域Method方法上。

再加一个作用字段上。这样既可以作用方法、类、成员变量上这三种都可以。

Retention

源码中对应的类型

RetentionPlicy也是一个枚举类型。分别对应的是源码阶段、class阶段、runtime阶段

一般都是加Runtime这个级别的注解


如果设置Class级别。也会保留到字节码中。但是不会被JVM识别


如果设置为Source。连字节码文件中都不会存在

Documented

将来这个注解描述的这些信息会被抽获取到javadoc的文档中。

桌面上新建文件夹2 然后把Worker.java这个类复制过来。

删除相关代码后。

MyAnno3也复制过来


内容全剪切掉

修改文件的格式

然后把内容再粘贴回来。并保存这个文件。

worker这个类同上,先剪切,再修改格式为 ANSI格式编码。然后再粘贴回来。

右键打开命令行


在这个文件夹内生成api文档

生成后查看,注解被保留了

show方法上面的注解也被保留了

name上的注解没有被保留

所说义这个@Documented 可以被抽获取到javadoc文档中的

如果下面这里把 @Documented 这个注解删掉。

删掉后,重新生成API文档

那么在Worker类里面加的这个几个注解会不会在API中体现?

删掉后,就不会体现了。、虽然加了注解的描述的。但是因为去掉了@Documented这段代码。所以不会在文档中体现

@Inherited

表示这个注解是否会被继承

表示这个注解会自动被此类继承

新建一个Teacher类

Teacher继承Worker这个类。在Teacher类没有加注解。

但是worker这个类有注解。那么Teacher会继承类上面的 @MyAnno3的这个注解。

总结

比较常用的注解就是前两个

转载于:https://www.cnblogs.com/wangjunwei/p/11289586.html

阶段1 语言基础+高级_1-3-Java语言高级_09-基础加强_第3节 注解_16_注解_自定义注解_元注解...相关推荐

  1. java基础学习总结一(java语言发展历史、jdk的下载安装以及配置环境变量)

    最近一段时间计划复习一下java基础知识,使用的视频课程是尚学堂高淇老师的,上课过程中的心得体会 直接总结一下,方便以后复习. 一:计算机语言的发展 1:机器语言,最原始的语言,主要有"01 ...

  2. java注解定义常量_java自定义注解

    1.Annotation的工作原理: JDK5.0中提供了注解的功能,允许开发者定义和使用自己的注解类型.该功能由一个定义注解类型的语法和描述一个注解声明的语法,读取注解的API,一个使用注解修饰的c ...

  3. 【Java开发语言 01】第一章 Java语言概述(基础常识+Java语言概述+Java程序运行机制及运行过程+Java语言环境的搭建+开发体验hello world+错误:编码GBK的不可映射字符)

    java入门-第一章Java语言概述 1基础常识 软件开发 人机交互方式 常用的DOS命令(win系统,有一些直接通过命令执行的) 2 Java语言概述 什么是计算机语言 关于面向对象和面向过程 Ja ...

  4. java语言基础 : 初识计算机和Java语言-----java初识之路

    初识计算机和Java语言 第一节:计算机的体系结构(常识) 1.计算机的基本概念 计算机(Computer)俗称电脑,是一种用于高级计算,使用非常广泛的设备,主要由 计算机硬件和 计算机软件两个部分组 ...

  5. Java基础(一)Java语言概述及入门

    1 Java语言概述 1.1Java概述 是SUN(Stanford University Network,斯坦福大学网络公司 ) 1995年推出的一门高级编程语言. 是一种面向Internet的编程 ...

  6. python语言与蟒蛇_1、python语言是一种“大蟒蛇语言‘’,但是python语言却和蟒蛇没有任何关系_学小易找答案...

    [单选题]最早的显微镜是有谁发明的?( ) [简答题]已知斜度,抄画图形. [简答题]什么是程序设计? [简答题]简述承保年度制满期赔付率涵义 [单选题]筹集股权资本是企业筹集( )的一种重要方式. ...

  7. 恶魔语言java_说地道的Java语言(译)

    说地道的Java语言 --使非Java程序员能流畅地使用Java程序设计语言 使用一种程序设计语言,就应该专业地使用它.本文是IBM developerWorks中的一篇文章,它描述的都是Java编程 ...

  8. java语言主要因为具备了,Java语言的魅力

    Java语言的简介Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承.指针等概念,因此Java语言具有功能强大和简单易用两个特征.Java语言作为静态面向 ...

  9. java语言的特点简单性,Java语言的特点

    Java是一门面向对象编程语言,底层是C++语言.Java语言分为三大体系: • Java SE(标准版) • Java EE(企业版) • Java ME(微型版) Java语言的特点有以下几种: ...

  10. 【JAVA】Java概述(1、Java语言发展史;2、Java语言跨平台原理;3、JRE和JDK;4、JDK的下载与安装)

    Java概述 重新学习Java第一篇 文章目录 Java概述 1.JAVA语言发展史 1.1Java语言 1.2Java语言发展史 2.Java语言跨平台原理 2.1平台 2.2跨平台 2.3跨平台原 ...

最新文章

  1. Percy Liang、李飞飞等百余位学者联名发布:「基础模型」的机遇与挑战
  2. 行为型模式:模板方法
  3. xp系统 javafx_使用JavaFX构建React系统
  4. Win11如何将游戏隐藏 Win11游戏隐藏的方法
  5. Mysql配置文件读取顺序
  6. 改善代码设计 —— 优化物件之间的特性(Moving Features Between Objects)
  7. 制作Makefile中 ** missing separator 错误解决
  8. 知也atitit.解决struts2 SpringObjectFactory.getClassInstance NullPointerException  v2 q31无涯 - I...
  9. 建模实训报告总结_计算机三维建模实训报告
  10. idea社区版已经足够强大了
  11. Echart柱状图数值显示
  12. 利用R语言进行探索性数据分析(EDA)
  13. php 按钮外观怎么改变,php 按钮样式
  14. coap python_Python coap
  15. uniapp-自定义导航栏样式不生效问题(一)
  16. 第39天:WEB攻防-通用漏洞CSRFSSRF协议玩法内网探针漏洞利用
  17. FF直连支付宝问题汇总
  18. Java, 正则表达式之打折问题。
  19. 设置Notes客户端收发Internet邮件
  20. Nginx缓存配置(简易实现CDN功能)

热门文章

  1. 路由器与交换机怎么插线_网络设备:中继器、集线器、网桥、交换机、路由器、网关的超全总结!...
  2. 习题3.8 符号配对 (20 分)
  3. 实验三 函数的最值与导数
  4. 图像识别pytorch入门1
  5. mysql centos_centos7mysql安装
  6. python使用相对路径创建文件夹
  7. wordnet的特点
  8. 利用caffe日志进行测试精度训练损失等的画图(caffe训练结果可视化)
  9. resnet和densenet系列模型结构图可视化
  10. python轻量级web开发框架Flask学习使用