Java千百问_03基础语法(019)_注解是什么
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java千百问_03基础语法(019)_注解是什么,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1796字,纯文字阅读大概需要3分钟。
内容图文
1、注解是什么
java中的注解(Annotation),也叫元数据。是Java 5以后版本引入的一个特性。
注解与类、接口、枚举是在同一个层次,可以用来标注包、类、字段、方法、局部变量、方法参数等元素,达到对这些元素的描述和说明。
注解是可以允许jvm在运行中读取它,这一点与注释完全不同。并且包含多种加载策略,可以灵活配置。
了解注解、注释区别看这里:注解、注释有什么区别
如何自定义注解看这里:如何使用注解
2、注解有哪些加载策略
注解包含3中可配置的加载策略(RetentionPolicy),根据不同的需要进行不同的配置,具体如下:
public enum RetentionPolicy {
// 此类型会被编译器丢弃
SOURCE,
// 此类型注解会保留在class文件中,但JVM会忽略它,默认策略CLASS,
// 此类型注解会保留在class文件中,JVM会读取它RUNTIME
}
3、注解有什么作用
注解主要功能有以下几点:
-
编写文档
通过代码里标识的元数据生成文档,这一点与注释类似。 -
代码分析
通过代码里标识的元数据对代码进行分析,一般使用反射获取注解信息。 -
编译检查
通过代码里标识的元数据让编译器能够实现基本的编译检查,例如方法覆盖@Override。
4、JDK有那些内置注解
jdk提供了若干内置注解,常见的如下:
@Override
它用来对覆盖父类方法、实现接口方法进行标记,如果被标记的方法并没有实际覆盖父类方法,则编译器会发出错误警告。
例子:
public
class
SuperTest {
public String tostring() {
return"父类";
}
}
publicclassTestextendsSuperTest {@Overridepublic String tostring() {
return"子类注解";
}
}
@Deprecated
它用来标记过期方法、不推荐使用方法。对于某些已经过期、不推荐使用的方法,但又不能直接删除(有其他地方仍使用),我们会使用@Deprecated进行标记,当使用这些方法时,会在编译时进行提示。
例子:
public
class Test {
publicstaticvoidmain(String[]args) {
// 使用DeprecatedClass里声明被过时的方法
DeprecatedClass.DeprecatedMethod();
}
}
class DeprecatedClass {
@Deprecated
publicstaticvoidDeprecatedMethod() {
}
}
@SuppressWarnings
它用来标记不想被提示的警告,警告类型可以通过参数控制,具体如下:
deprecation,使用了过时的类或方法时的警告
unchecked,执行了未检查的转换时的警告
fallthrough,当Switch程序块直接通往下一种情况而没有Break时的警告
path,在类路径、源文件路径等中有不存在的路径时的警告
serial,当在可序列化的类上缺少serialVersionUID定义时的警告
finally,任何finally子句不能正常完成时的警告
all,关于以上所有情况的警告
例子:
public
class Test {
publicstatic Listlist = newArrayList();
@SuppressWarnings("unchecked")
publicvoidadd(String data) {
list.add(data);
}
}
原文:http://blog.csdn.net/ooppookid/article/details/51761368
内容总结
以上是互联网集市为您收集整理的Java千百问_03基础语法(019)_注解是什么全部内容,希望文章能够帮你解决Java千百问_03基础语法(019)_注解是什么所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。