`
meiyx
  • 浏览: 181373 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

java注释相关总结

 
阅读更多
[size=x-large][color=blue]
java 注释相关内容总结:
1 java的内置注释
java.lang中的内置注释:
Deprecated 用@Deprecated注释的程序元素一般不鼓励程序元使用,通常因为他很危险或者存在更好的选择

Override 表示一个方法声明打算重写写超类中的另一个方法声明,即其要覆盖超类中的方法内容
SupressWarning 指示应该在注释元素中取消显示指定的编译器警告

java.lang.Annotation中的注释
Document 指示某一类型的注释将通过javadoc和类似的默认工具ed进行文档化,这样在其他类中使用被Documented注释的注释时可以被import,否则不可以

Inherited 指示注释类型被自动继承 Retention 指示注释类型的注释要保留多久
RetentionPolicy 注释保留策略。此枚举类型的常量描述保留注释的不同策略。它们与 Retention 元注释类型一起使用,以指定保留多长的注释 CLASS 编译器将把注释记录在类文件中,但在运行时 VM 不需要保留注释。 RUNTIME 编译器将把注释记录在类文件中,在运行时 VM 将保留注释,因此可以反射性地读取。 SOURCE 编译器要丢弃的注释。

Target 指示注释类型所适用的程序元素种类 如果注释类型声明中不存在 Target 元注释,则声明的类型可以用在任一程序元素上。如果存在这样的元注释,则编译器强制实施指定的使用限制。 例如,此元注释指示该声明类型是其自身,即元注释类型。它只能用在注释类型声明上
@Target(ElementType.ANNOTATION_TYPE)
public @interface MetaAnnotationType {
... }
ElementType 是一个枚举其常量有:
ANNOTATION_TYPE
          注释类型声明
CONSTRUCTOR
          构造方法声明
FIELD
          字段声明(包括枚举常量)
LOCAL_VARIABLE
          局部变量声明
METHOD
          方法声明
PACKAGE
          包声明
PARAMETER
          参数声明
TYPE
          类、接口(包括注释类型)或枚举声明



2 自定义注释
package Test_annotation;

import java.lang.annotation.Documented;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
import java.lang.annotation.ElementType;
import java.lang.annotation.RetentionPolicy;

/*
* 元注解@Target,@Retention,@Documented,@Inherited
*
*     @Target 表示该注解用于什么地方,可能的 ElemenetType 参数包括:
*         ElemenetType.CONSTRUCTOR 构造器声明
*         ElemenetType.FIELD 域声明(包括 enum 实例)
*         ElemenetType.LOCAL_VARIABLE 局部变量声明
*         ElemenetType.METHOD 方法声明
*         ElemenetType.PACKAGE 包声明
*         ElemenetType.PARAMETER 参数声明
*         ElemenetType.TYPE 类,接口(包括注解类型)或enum声明
*        
*     @Retention 表示在什么级别保存该注解信息。可选的 RetentionPolicy 参数包括:
*         RetentionPolicy.SOURCE 注解将被编译器丢弃
*         RetentionPolicy.CLASS 注解在class文件中可用,但会被VM丢弃
*         RetentionPolicy.RUNTIME VM将在运行期也保留注释,因此可以通过反射机制读取注解的信息。
*        
*     @Documented 将此注解包含在 javadoc 中
*    
*     @Inherited 允许子类继承父类中的注解
*  
*/
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
/*
* 定义注解 Test
* 注解中含有两个元素 id 和 description
* description 元素 有默认值 "no description"
*/
public @interface Test {
public int id();
public String description() default "no description";
}

使用注解 和 解析注解的实例

package Test_annotation;

import java.lang.reflect.Method;

public class Test_1 {
/*
* 被注解的三个方法
*/
@Test(id = 1, description = "hello method_1")
public void method_1() {
}

@Test(id = 2)
public void method_2() {
}

@Test(id = 3, description = "last method")
public void method_3() {
}

/*
* 解析注解,将Test_1类 所有被注解方法 的信息打印出来
*/
public static void main(String[] args) {
Method[] methods = Test_1.class.getDeclaredMethods();
for (Method method : methods) {
/*
* 判断方法中是否有指定注解类型的注解
*/
boolean hasAnnotation = method.isAnnotationPresent(Test.class);
if (hasAnnotation) {
/*
* 根据注解类型返回方法的指定类型注解
*/
Test annotation = method.getAnnotation(Test.class);
System.out.println("Test( method = " + method.getName()
+ " , id = " + annotation.id() + " , description = "
+ annotation.description() + " )");
}
}
}

}

输出结果如下:

Test( method = method_1 , id = 1 , description = hello method_1 )

Test( method = method_2 , id = 2 , description = no description )

Test( method = method_3 , id = 3 , description = last method )
分享到:
评论

相关推荐

    java 注释模板 超级好用

    超级好用的 java 注释模板,吐血总结,整理。吐血总结,整理。

    java重要知识点总结

    1.java是一种编译解释型的语言。 2.java的垃圾回收机制: java的垃圾回收将在程序运行过程中自动进行,无需程序员负责...6.java注释: // 单行注释 /* */ 多行注释(不能嵌套) //* */ 文档说明注释 ...... .... .....

    JAVA IO流缓冲字节流缓冲字符流等流经典代码示例加注释总结.rar

    2、常用21个IO流:FileWriter、FileReader、...3、JAVA IO流经典代码示例,示例从易到难。代码功能涉及字节、字符、字符串、文本文件、图片、音频、视频。演示错误用法和经典用法。 4、代码的结构可查看README文件。

    JAVA面向对象基础总结笔记

    这个文档是我本人通过学习JAVA面向对象部分总结出的文档,知识点都包含在内,继承,封装,多态等概念,以及相关代码并给于注释,面向对象部分是JAVA的核心部分,面向对象这部分是理解JAVA的最好途径,共大家学习借鉴...

    Java程序设计课程学习总结与心得

    "Java 程序设计课程学习总结与心得" Java 程序设计课程学习总结是指学习 Java 程序设计的总结和经验教训。本文将从 Java 语言的基础知识到高级部分的总结,涵盖面向对象编程、数组、字符串、流技术、异常处理等内容...

    Java重点知识总结

    标识符与关键字 ,注释形式 ,8种基本类型的变量定义、常量写法 ,变量与常量 运算符与表达式 ,流程控制语句(基本语法、例题) ,补充:带标号的break与continue 数组:一维数组 ,静态方法(结合第3章静态变量)...

    xiexu-doc-20230619-生成Java文档注释文件

    具体内容可参阅主页文章:【2023,学点儿新Java-09】Java初学者常会犯的错误总结与解决方案 | Java中的注释类型 | 详细教学:通过命令行 执行 Java中特有的文档注释

    从0开始学Java第一天-Java学习资料-源码基础-Java源码-总结

    3.注释(掌握)(1)注释:用于解释说明程序的文字,(2)注释分为单行注释、多行注释、文档注释,(3)为编写的HelloWorld案例添加注释,(4)注释的作用是解释说明程序,提高程序的阅读性并帮助我们调试程序;...

    注释类型总结

    tapestry Annotation Types Summary注释类型总结

    Java基础知识总结

    记笔记,加注释,写总结 不要完全依赖于书和视频 建立有效的学习方法 学习软件编程的捷径--敲,狂敲 写代码: 1,明确需求。我要做什么? 2,分析思路。我要怎么做? 1,2,3。 3,确定步骤。每一个思路部分用到哪些...

    java代码知识点总结

    JAVA知识点汇总 必须养成优秀程序员的编写习惯:缩进(用空格)、注释、命名约定。 大小写敏感。 单独的“;”代表一条空语句。 main函数是我们整个程序的执行入口所以必须是静态公开的。 必须写成这样: public ...

    java 编程入门思考

    2. Java的学习 3. 目标 4. 联机文档 5. 章节 6. 练习 7. 多媒体CD-ROM 8. 源代码 9. 编码样式 10. Java版本 11. 课程和培训 12. 错误 13. 封面设计 14. 致谢 第1章 对象入门 1.1 抽象的进步 1.2 对象的接口 1.3 ...

    javadoc注释规范.doc

    根据给定的文件信息,我们可以总结出以下知识点: 一、javadoc 注释的基本格式 javadoc 注释以「/」开头,以「*/」结尾。多行注释可以使用「*」符号换行。 二、文档注释的格式 文档注释的格式化生成的文档是 ...

    Java编程规范+文档注释+程序调试

    Java编程规范+文档注释+程序调试,前人总结的编程经验,经典啊!

    125集专攻JAVA基础 JAVA零基础入门学习视频教程 动力节点JAVA视频教程.txt

    北京动力节点-Java编程零基础教程-030-Java语言概述-重难点总结.avi 北京动力节点-Java编程零基础教程-031-Java基本语法-注释-单行注释与多行注释.avi 北京动力节点-Java编程零基础教程-032-Java基本语法-注释-...

    java入门基础总结概括

    学习方法: 1.记笔记 2.动手写代码 3.代码需要加注释 4.不懂就问 5.上课一定要互动

    Java基础知识小结

    1.4 JAVA注释方法及格式 . . . . . . . . . . . . . . . . . . . . . . . . .11 1.5 JAVA注释具体实现 . . . . . . . . . . . . . . . . . . . . . . . . . .13 1.6 Java 6中的性能优化 . . . . . . . . . . . . . ....

    JAVA总结学习概要

    JAVA 基础数据数据类型运算符(1.注释,2.标识符和关键字3.数据类型分类)

    Java2游戏编程.pdf

    2.1.2 给Java代码加注释 2.1.3 Java类声明 2.1.4 Java方法声明 2.1.5 Java中的代码块 2.1.6 Java程序组成部分的关键点回顾 2.2 比特和字节:原始的Java类型 2.2.1 基本的整数类型 2.2.2 浮点类型 2.2.3 Char类型 ...

    Java关键字总结珍藏版

    Java关键字总结珍藏版1.abstract Java 关键字 abstract 关键字可以修改类或方法。 abstract 类可以扩展(增加子类),但不能直接实例化。 abstract 方法不在声明它的类中实现,但必须在某个子类中重写。 示例 ...

Global site tag (gtag.js) - Google Analytics