`

Annotation--学习:限定使用、文档、继承

    博客分类:
  • JAVA
阅读更多

限定annotation使用对象@Target
使用java.lang.annotation.Target可以定义其使用之时机,在定义时要指定java.lang.annotation.ElementType的枚举值之一。
一个annotation不加限定的话,其可以定义在程序任何地方使用,可以放在类,方法,属性等前都可以.
用@Target可以加以限定定义的annotation放的位置,结合ElementType使用.
package java.lang.annotation;
public enum ElementType
{
     TYPE, //适用class, interface, enum
     FIELD, //适用field
     METHOD, //适用method
     PARAMETER, //适用method上之parameter
     CONSTRUCTOR, //适用constructor  --构造方法
     LOCAL_VARIABLE, //适用局部变量
     ANNOTATION_TYPE, //适用annotation型态
     PACKAGE //适用package
}
总结来说:Target可以限定定义的annotation放在程序什么位置。
要求为API文件@Documented:
想要在使用者制作JavaDoc文件的同时,也一并将Annotation的讯息加入至API文件中,使用至API文件中,使用java.lang.annotation.Documented
在定义annotation时前面加入@Documented,那么在javadoc时会将加入到程序前面的annotation信息一起加到doc中.
eclipse制作javadoc,菜单-->Project-->Generate Javadoc 选择想要制作的类或全部即可生成javadoc

子类是否继承父类@Inherited
预设上父类别中的Annotation并不会被继承至子类别中,可以在自定义annotation型态时加上
java.lang.annotation.Inherited型态的annotation.即@Inherited
这样就可以被子类继承了,如果子类覆写了父类的方法,则不会继承父类的annotation,方法被覆盖,注解也一样的被覆盖了。
在接口中实现类不会继承接口中的annotation

附件为学习annotation小例子

2
0
分享到:
评论

相关推荐

    Annotation注解的介绍和使用

    ##### 4.2 `@Target`:限定注释的使用范围 `@Target`元注解定义了注解可以应用的目标类型,如`TYPE`, `FIELD`, `METHOD`等。 ```java @Target(ElementType.METHOD) public @interface MyAnnotation {} ``` ##### ...

    方立勋JavaWeb ppt、代码

    - **Schema 约束**:使用Schema进行XML文档的校验。 #### HTTP 协议 **8.1 什么是 HTTP 协议** - **定义**:HTTP(HyperText Transfer Protocol)是一种应用层协议,用于传输超文本数据。 - **工作原理**:客户端...

    java 编程常用英语单词 解释

    - **用途**:使用泛型可以避免重复编写类似的代码,并提高代码的类型安全性。 #### Goto (转至) - **定义**:`goto`是早期编程语言中的关键字,用于实现无条件跳转。 - **用途**:尽管Java中没有直接支持`goto`,但...

    TongWeb6.0应用开发手册.pdf

    - 创建一个新的类继承自`HttpServlet`。 - 覆写`doGet`和`doPost`方法来处理HTTP GET和POST请求。 - 在`web.xml`中注册Servlet,并指定其URL模式。 ##### 1.2 JSP - **JSP指令**: - 指令元素用于设置页面的...

    北京圣思园 Annotation pdf文档

    根据给定的文件信息,我们将介绍Java注解(Annotation)的相关知识点,包括其定义、使用方法、内建注解以及高级特性。 首先,我们来看看Java注解的由来。在Java 5.0版本发布之前,程序员通常需要使用注释(Comments...

    kotlin参考文档

    - **编写Kotlin代码文档**:使用KDoc来编写文档注释,方便生成API文档。 - **使用Kapt**:Kotlin Annotation Processing Tool,用于处理注解。 - **使用Gradle/Maven/Ant**:这些构建工具支持Kotlin项目构建和依赖...

    Spring中文帮助文档

    3.12.6. 用注解提供限定符元数据 3.13. 注册一个LoadTimeWeaver 4. 资源 4.1. 简介 4.2. Resource接口 4.3. 内置 Resource 实现 4.3.1. UrlResource 4.3.2. ClassPathResource 4.3.3. FileSystemResource ...

    java编程百例

    Java编程百例是一份丰富的资源,旨在帮助初学者和进阶者深入理解并熟练掌握Java编程语言。这个压缩包包含了100个精心设计的Java编程示例,...在学习过程中,建议结合阅读官方文档和相关教程,以获取更全面的知识体系。

    \java超强笔记(超级经典)

    @Documented 用来限定注释的信息是否能够进行文档化 自定义注释: 在自定义注释时,要用元注释来进行描述。 如: import java.lang.annotation.*; @Target({ElementType.METHOD}) @...

    protege工具开发介绍

    - **属性限制**(Property Restrictions):使用属性限制来限定类的成员必须满足的条件。 - **存在性限制**(Existential Restrictions):指定一个类的成员必须具有某种属性与某个类的成员相联系。 #### 四、...

    疯狂JAVA讲义

    学生提问:使用组合关系来实现复用时,需要创建两个Animal对象,是不是意味着使用组合关系时系统开销更大? 159 5.9 初始化块 159 5.9.1 使用初始化块 160 5.9.2 初始化块和构造器 161 5.9.3 静态初始化块 162 ...

    Spring API

    3.12.6. 用注解提供限定符元数据 3.13. 注册一个LoadTimeWeaver 4. 资源 4.1. 简介 4.2. Resource接口 4.3. 内置 Resource 实现 4.3.1. UrlResource 4.3.2. ClassPathResource 4.3.3. FileSystemResource ...

    整理后java开发全套达内学习笔记(含练习)

    Annotation [java] 代码注释 [ænәu'teiʃәn] anonymous adj.匿名的[ә'nɒnimәs]'(反义:directly adv.直接地,立即[di'rektli, dai'rektli]) apply v.应用,适用 [ә'plai] application n.应用,应用程序 [,æ...

    Java自定义注解的详解

    在这个教程中,我们将学习 Java 的注解,如何定制注解,注解的使用以及如何通过反射解析注解。 Java 自定义注解的详解 ------------------------ ### 创建自定义注解 创建自定义注解和创建一个接口相似,但是注解...

    详解Java注解的实现与使用方法

    4. @Inherited:在您定义注解后并使用于程序代码上时,预设上父类别中的注解并不会被继承至子类别中,您可以在定义注解时加上java.lang.annotation.Inherited 限定的Annotation,这让您定义的Annotation型别被继承...

    java代码-笔试代码提交 sample

    4. **版本控制**:使用Git等版本控制系统进行代码管理,便于团队协作和代码回溯。 5. **README**:`README.txt`文件通常包含项目简介、安装指南、使用方法、依赖项等信息,对于理解和使用项目至关重要。 6. **文档...

    可视化建模与UML模拟试题(带答案)

    结构事物(Structural Elements)如类、接口和用例,行为事物(Behavioral Elements)如协作、状态机和活动,分组事物(Grouping Elements)如包和组件,以及注释事物(Annotation Elements)用于提供文档和解释。...

    JavaSE-注解与反射(框架底层实现机制)

    2. **获取类信息**:使用`Class`对象可以获取类的构造器、方法、字段等信息,例如`getConstructors()`, `getMethods()`, `getFields()`等。 3. **调用方法**:通过`Method`对象的`invoke(Object obj, Object... args...

Global site tag (gtag.js) - Google Analytics