Java注解(转载)
来源:互联网 发布:淘宝宝贝数据包 编辑:程序博客网 时间:2024/06/18 12:41
一、什么是注解
说起注解,得先提一提什么是元数据(metadata)。所谓元数据就是数据的数据。也就是说,元数据是描述数据的。就象数据表中的字段一样,每个字段描述了这个字段下的数据的含义。而J2SE5.0中提供的注解就是Java源代码的元数据,也就是说注解是描述java源代码的。在J2SE5.0中可以自定义注解。使用时在@后面跟注解的名字。
二、J2SE5.0中预定义的注解
在J2SE5.0的java.lang包中预定义了三个注解。它们是Override、Deprecated和SuppressWarnings。下面分别解解它们的含义。
Override这个注解的作用是标识某一个方法是否覆盖了它的父类的方法。
Deprecated
这个注解是一个标记注解。所谓标记注解,就是在源程序中加入这个标记后,并不影响程序的编译,但有时编译器会显示一些警告信息。
那么Deprecated注解是什么意思呢?如果你经常使用eclipse等IDE编写java程序时,可能会经常在属性或方法提示中看到这个词。如果某个类成员的提示中出现了个词,就表示这个并不建议使用这个类成员。因为这个类成员在未来的JDK版本中可能被删除。之所以在现在还保留,是因为给那些已经使用了这些类成员的程序一个缓冲期。如果现在就去了,那么这些程序就无法在新的编译器中编译了。
SuppressWarnings
这个世界的事物总是成对出现。即然有使编译器产生警告信息的,那么就有抑制编译器产生警告信息的。
三、如何自定义注解
注解的强大之处是它不仅可以使java程序变成自描述的,而且允许程序员自定义注解。注解的定义和接口差不多,只是在interface前面多了一个“@”。
四、如何对注解进行注解
这一节的题目读起来虽然有些绕口,但它所蕴涵的知识却对设计更强大的java程序有很大帮助。
在上一节讨论了自定义注解,由此我们可知注解在J2SE5.0中也和类、接口一样。是程序中的一个基本的组成部分。既然可以对类、接口进行注解,那么当然也可以对注解进行注解。
使用普通注解对注解进行注解的方法和对类、接口进行注解的方法一样。所不同的是,J2SE5.0为注解单独提供了4种注解,即元注解。
Target
这个注解理解起来非常简单。由于target的中文意思是“目标”,因此,我们可能已经猜到这个注解和某一些目标相关Retention
既然可以自定义注解,当然也可以读取程序中的注解(如何读取注解将在下一节中讨论)。但是注解只有被保存在class文件中才可以被读出来。而Retention就是为设置注解是否保存在class文件中而存在的Documented
这个注解和它的名子一样和文档有关。在默认的情况下在使用javadoc自动生成文档时,注解将被忽略掉。如果想在文档中也包含注解,必须使用Documented为文档注解。Inherited
继承是java主要的特性之一。在类中的protected和public成员都将会被子类继承,但是父类的注解会不会被子类继承呢?很遗憾的告诉大家,在默认的情况下,父类的注解并不会被子类继承。如果要继承,就必须加上Inherited注解。
- Java注解(转载)
- Java注解(转载)
- java中的注解(转载)
- java 注解 实战剖析(转载)
- 【转载】Java注解Annotation详解
- (转载)深入理解Java:注解(Annotation)自定义注解入门
- java 注解:注解(Annotation)--注解处理器
- java 注解的几大作用及使用方法详解(转载)
- 在Java中设计和使用自己的注解(转载)
- spring注解(转载,自己学习)
- 【转载】hibernate基本注解(全)
- java annocation(注解)
- Java注解(Tiger)
- JAVA 注解(annotation)
- java 注解(Annotation)
- java注解(1)
- Java注解(2)
- java 注解(annotation)
- windows系统搭建redis集群实例
- mybatis的一些特殊符号标识(大于,小于,等于,不等于)
- Bean named 'BService' is expected to be of type 'path1' but was actually of type 'path2'
- dell服务器centos系统磁盘大于16T时的操作
- 数字转汉字,含十百千
- Java注解(转载)
- spring mvc 发送邮件中部分异常处理
- PythonWeb开发Django框架学习(十)数据库一对多和多对多操作
- centos6.5 安装postgresql9.4
- Android系统传播大全和开机自启动的Service
- JMeter总结【1】连接各种数据库配置
- 关于数组不得不说的事(一维数组)
- How many ways(递推)
- 值域线段树