注解与注释有什么区别吗 而且注解一般用在什么地方 还有人说注释是给人看的 注解是给机器看的 可是机器还要看注解吗
注释是给人看的 注解是给机器看的
这说的是对的,但是比较通俗。
机器看注解,说的是程序在运行的时候,检索一个类型(通常这个类型并不是这个程序的作者开发的)的字段、成员、方法等信息。这个在java中叫做反射。
比如说,你定义了一个类,这个类有很多成员变量,你希望hibernate能够将它映射到数据库的表和字段上,那么你可以加上注解。
那么hibernate(hibernate的开发者在开发这个框架的时候显然不知道你的类怎么定义的,有什么成员,每个成员映射到数据库的什么字段上),但是你可以通过注解定义。
这样hibernate就可以读取到这些信息,并且做出对应的处理。
注解信息会被编译器编译到类库里面去,所以程序可以解析。而注释,则会被编译器忽略。
从编程思想的角度来说,这个叫做元编程(meta programming)。
也就是说,你的程序被另一个程序视作“数据”,那个程序对你的程序进行处理,那个程序就是处理程序的程序(一般的程序可以看作是处理数据的程序)。
深入理解Java:注解(Annotation)自定义注解入门
http://www.cnblogs.com/peida/archive/2013/04/24/3036689.html