阶段1 语言基础+高级_1-3-Java语言高级_09-基础加强_第3节 注解_16_注解_自定义注解_元注解...
例如查看@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_注解_自定义注解_元注解...相关推荐
- java基础学习总结一(java语言发展历史、jdk的下载安装以及配置环境变量)
最近一段时间计划复习一下java基础知识,使用的视频课程是尚学堂高淇老师的,上课过程中的心得体会 直接总结一下,方便以后复习. 一:计算机语言的发展 1:机器语言,最原始的语言,主要有"01 ...
- java注解定义常量_java自定义注解
1.Annotation的工作原理: JDK5.0中提供了注解的功能,允许开发者定义和使用自己的注解类型.该功能由一个定义注解类型的语法和描述一个注解声明的语法,读取注解的API,一个使用注解修饰的c ...
- 【Java开发语言 01】第一章 Java语言概述(基础常识+Java语言概述+Java程序运行机制及运行过程+Java语言环境的搭建+开发体验hello world+错误:编码GBK的不可映射字符)
java入门-第一章Java语言概述 1基础常识 软件开发 人机交互方式 常用的DOS命令(win系统,有一些直接通过命令执行的) 2 Java语言概述 什么是计算机语言 关于面向对象和面向过程 Ja ...
- java语言基础 : 初识计算机和Java语言-----java初识之路
初识计算机和Java语言 第一节:计算机的体系结构(常识) 1.计算机的基本概念 计算机(Computer)俗称电脑,是一种用于高级计算,使用非常广泛的设备,主要由 计算机硬件和 计算机软件两个部分组 ...
- Java基础(一)Java语言概述及入门
1 Java语言概述 1.1Java概述 是SUN(Stanford University Network,斯坦福大学网络公司 ) 1995年推出的一门高级编程语言. 是一种面向Internet的编程 ...
- python语言与蟒蛇_1、python语言是一种“大蟒蛇语言‘’,但是python语言却和蟒蛇没有任何关系_学小易找答案...
[单选题]最早的显微镜是有谁发明的?( ) [简答题]已知斜度,抄画图形. [简答题]什么是程序设计? [简答题]简述承保年度制满期赔付率涵义 [单选题]筹集股权资本是企业筹集( )的一种重要方式. ...
- 恶魔语言java_说地道的Java语言(译)
说地道的Java语言 --使非Java程序员能流畅地使用Java程序设计语言 使用一种程序设计语言,就应该专业地使用它.本文是IBM developerWorks中的一篇文章,它描述的都是Java编程 ...
- java语言主要因为具备了,Java语言的魅力
Java语言的简介Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承.指针等概念,因此Java语言具有功能强大和简单易用两个特征.Java语言作为静态面向 ...
- java语言的特点简单性,Java语言的特点
Java是一门面向对象编程语言,底层是C++语言.Java语言分为三大体系: • Java SE(标准版) • Java EE(企业版) • Java ME(微型版) Java语言的特点有以下几种: ...
- 【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跨平台原 ...
最新文章
- Percy Liang、李飞飞等百余位学者联名发布:「基础模型」的机遇与挑战
- 行为型模式:模板方法
- xp系统 javafx_使用JavaFX构建React系统
- Win11如何将游戏隐藏 Win11游戏隐藏的方法
- Mysql配置文件读取顺序
- 改善代码设计 —— 优化物件之间的特性(Moving Features Between Objects)
- 制作Makefile中 ** missing separator 错误解决
- 知也atitit.解决struts2 SpringObjectFactory.getClassInstance NullPointerException v2 q31无涯 - I...
- 建模实训报告总结_计算机三维建模实训报告
- idea社区版已经足够强大了
- Echart柱状图数值显示
- 利用R语言进行探索性数据分析(EDA)
- php 按钮外观怎么改变,php 按钮样式
- coap python_Python coap
- uniapp-自定义导航栏样式不生效问题(一)
- 第39天:WEB攻防-通用漏洞CSRFSSRF协议玩法内网探针漏洞利用
- FF直连支付宝问题汇总
- Java, 正则表达式之打折问题。
- 设置Notes客户端收发Internet邮件
- Nginx缓存配置(简易实现CDN功能)