2 it newbies IT_newbies 于 2016.01.27 18:54 提问

java里的Annotation注解的作用 作为Java初学者实在是费解

注解与注释有什么区别吗 而且注解一般用在什么地方 还有人说注释是给人看的 注解是给机器看的 可是机器还要看注解吗

5个回答

caozhy
caozhy   Ds   Rxr 2016.01.27 18:58
已采纳

注释是给人看的 注解是给机器看的
这说的是对的,但是比较通俗。

机器看注解,说的是程序在运行的时候,检索一个类型(通常这个类型并不是这个程序的作者开发的)的字段、成员、方法等信息。这个在java中叫做反射。

比如说,你定义了一个类,这个类有很多成员变量,你希望hibernate能够将它映射到数据库的表和字段上,那么你可以加上注解。
那么hibernate(hibernate的开发者在开发这个框架的时候显然不知道你的类怎么定义的,有什么成员,每个成员映射到数据库的什么字段上),但是你可以通过注解定义。
这样hibernate就可以读取到这些信息,并且做出对应的处理。

caozhy
caozhy   Ds   Rxr 2016.01.27 18:58

注解信息会被编译器编译到类库里面去,所以程序可以解析。而注释,则会被编译器忽略。

caozhy
caozhy   Ds   Rxr 2016.01.27 19:00

从编程思想的角度来说,这个叫做元编程(meta programming)。
也就是说,你的程序被另一个程序视作“数据”,那个程序对你的程序进行处理,那个程序就是处理程序的程序(一般的程序可以看作是处理数据的程序)。

caozhy
caozhy 回复IT_newbies: 本身这个不难理解。你编写一个小程序,如果希望提供一个插件的功能,也可以用用反射的。元数据一个道理,就是描述数据的数据。元(meta)是一个很常见的单词,在计算机科学中。
2 年多之前 回复
IT_newbies
IT_newbies 元编程这个词我都没听说过 还有元数据这个好像是生成文档的 听您用hibernate说明 好像注解反射这些东西在ee上比较有用 在se上没多大作用是吗 我现在还处在se阶段 而且注解反射算是se的范围吗
2 年多之前 回复
enpterexpress
enpterexpress   Rxr 2016.01.27 20:00
cuiwei1026522829
cuiwei1026522829   Ds   Rxr 2016.01.28 15:37
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Java中的注解(annotation)
注解(也被称为元数据)为我们在代码中添加信息提供了一种形式化的方法,使我们可以在稍后某个时刻非常方便的使用这些信息数据。 注解在一定程度上是把元数据和源代码文件结合在一起,而不是保存在外部文档中。它可以使得我们能够让编译器来测试和验证格式,存储有关程序的额外信息。注解还可以生成描述符文件,甚至或是新的类定义,并且有助于减轻些“样板”代码的负担。 注解是在实际的源代码级别保存所有的信息,而不是某种注释性的文字,这使得代码更整洁且便于维护。
Java注解Annotation浅析
Java在1.5版本引入注解Annotation,又称Java标注,注解是一种语法元数据,可以被直接使用到源代码中,类/方法/变量/参数/包名等都可以被注解。和Javadoc标签不同,编译器在生成class文件时候能够保留注解代码,同时,可能为了在程序运行过程中(run-time)可以使用注解,Java虚拟机会把注解保留,这样就可以通过反射获取注解Annotation信息
JAVA注解(Annotation).doc
JAVA注解(Annotation).doc JAVA注解(Annotation).doc
Java 注解Annotation使用解析
原址:点击打开链接 Java 注解Annotation使用解析 注解简介 Annotation(注解)就是Java提供了一种元程序中的元素关联任何信息或者任何元数据(metadata)的途径和方法。Annotion(注解)是一个接口,程序可以通过反射来获取指定程序元素的Annotion对象,然后通过Annotion对象来获取注解里面的元数据。 注解Annotatio
【Java】【Annotation】Java Annotation (注解)
Java Annotation1. Java注解(Annotation)原理详解2. Java Annotation认知(包括框架图、详细介绍、示例说明)3. 一小时搞明白自定义注解(Annotation)4. 全面解析Java注解5. 自定义注解6. Java 依赖注入标准(JSR-330)简介...
Java Annotation注解技术
Java Annotation注解技术
java annotation(注解) 的优点缺点
注解本质上通过反射来实现的,我们都知道,反射是一种程序的自省机制,其实反射是破坏封装的一种方式,反射的效率很低的,对程序本身访问会造成很多的额外开销。比如你采用Spring注解,@resource标识在一个类上面,那么程序会通过反射一遍遍的调用,首先通过class得到类对象,然后调取其中的getAnnotations()方法遍历类上的注解,一遍扫描和寻找注解,这其中就会有减慢效率,这不过是一种语法
Java Annotation及注解原理简析
参考资料:http://www.trinea.cn/android/java-annotation-android-open-source-analysis/                      http://www.cnblogs.com/mandroid/archive/2011/07/18/2109829.html                      http
Java 注解(Annotation)
Java 注解(Annotation) - 请认准 ih0qtq
java Annotation 注解
java Annotation 注解,详细讲解注解使用及原理