Java注释与静态或全局变量
我正在回顾Java注释是如何工作的,并认识到它是类的元数据。关于自定义注释,我有几个问题:Java注释与静态或全局变量,java,android,annotations,Java,Android,Annotations,我正在回顾Java注释是如何工作的,并认识到它是类的元数据。关于自定义注释,我有几个问题: 注释如何比静态或全局类变量更有用 你能给出一个注释有用的真实例子吗 1) 我真的不认为“注释”、“静态变量”或“全局变量”之间有任何共同之处——苹果、桔子和金橘 2) “注释”的一个好例子可能是JAXWS web服务: 在这种情况下,支持JAXWS的工具可以识别“@WebService”类和“@WebMethod”方法,解析Java代码并从中自动生成适当的代理、存根、WSDL等 3) 下面是对“注释
- 在这种情况下,支持JAXWS的工具可以识别“@WebService”类和“@WebMethod”方法,解析Java代码并从中自动生成适当的代理、存根、WSDL等
- 在这种情况下,支持JAXWS的工具可以识别“@WebService”类和“@WebMethod”方法,解析Java代码并从中自动生成适当的代理、存根、WSDL等
@Override
注释,它告诉编译器超类中已经存在一个方法。此注释提供编译时检查,以检查方法及其参数是否正确。本质上是元数据,即它们说明了类、方法或参数的某些信息,但不是它们注释的代码的一部分。类变量构成代码本身的一部分,用于存储应用程序中使用的数据,这是一个非常不同但同样重要的目的
一个有用的例子是@Override
注释,它告诉编译器超类中已经存在一个方法。此注释提供编译时检查,以检查方法及其参数是否正确
注释如何比静态类或全局类更有用
变量
发件人:
编译Java源代码时,注释可以由
编译器插件称为注释处理器。处理器可以产生
信息性消息或创建其他Java源文件或
资源,而这些资源又可以被编译和处理,以及
修改带注释的代码本身。Java编译器是有条件的
如果注释具有
类或运行时的保留策略。稍后,JVM或其他程序
可以查找元数据以确定如何与
程序元素或更改其行为
注释如何比静态类或全局类更有用
变量
发件人:
编译Java源代码时,注释可以由
编译器插件称为注释处理器。处理器可以产生
信息性消息或创建其他Java源文件或
资源,而这些资源又可以被编译和处理,以及
修改带注释的代码本身。Java编译器是有条件的
如果注释具有
类或运行时的保留策略。稍后,JVM或其他程序
可以查找元数据以确定如何与
程序元素或更改其行为
您可以使用注释来完成面向方面编程(AOP)。您应该尝试阅读有关方法拦截器的内容:try和。您可以使用注释来完成面向方面的编程(AOP)。您应该尝试阅读有关方法拦截器的内容:try和。您不能将全局变量绑定到类元素(构造函数、字段、方法等)并使用反射查询它们。 这是一个区别。 注释还具有不同的保留级别:它们可以在被某个工具“处理”后从字节码中剥离出来,或者在运行时保留以供反射使用
在注释之前,人们使用诸如xdoclet之类的工具来绑定来自javadoc注释的java源代码中的一些元信息;这些元信息被处理以生成周围的代码(即用于EJB中的持久性,或生成配置文件和其他源代码) 不能将全局变量绑定到类元素(构造函数、字段、方法等)并使用反射查询这些元素。 这是一个区别。 注释还具有不同的保留级别:它们可以在被某个工具“处理”后从字节码中剥离出来,或者在运行时保留以供反射使用 在注释之前,人们使用像xdoclet这样的工具,在jav中绑定一些元信息
How are annotations any more useful then a static or global class variable?