Java注释与静态或全局变量

Java注释与静态或全局变量,java,android,annotations,Java,Android,Annotations,我正在回顾Java注释是如何工作的,并认识到它是类的元数据。关于自定义注释,我有几个问题: 注释如何比静态或全局类变量更有用 你能给出一个注释有用的真实例子吗 1) 我真的不认为“注释”、“静态变量”或“全局变量”之间有任何共同之处——苹果、桔子和金橘 2) “注释”的一个好例子可能是JAXWS web服务: 在这种情况下,支持JAXWS的工具可以识别“@WebService”类和“@WebMethod”方法,解析Java代码并从中自动生成适当的代理、存根、WSDL等 3) 下面是对“注释

我正在回顾Java注释是如何工作的,并认识到它是类的元数据。关于自定义注释,我有几个问题:

  • 注释如何比静态或全局类变量更有用

  • 你能给出一个注释有用的真实例子吗

  • 1) 我真的不认为“注释”、“静态变量”或“全局变量”之间有任何共同之处——苹果、桔子和金橘

    2) “注释”的一个好例子可能是JAXWS web服务:

    • 在这种情况下,支持JAXWS的工具可以识别“@WebService”类和“@WebMethod”方法,解析Java代码并从中自动生成适当的代理、存根、WSDL等

    3) 下面是对“注释”的一个很好的介绍:

    *

    它[基于注释的开发]让我们避免编写样板文件 在许多情况下,通过启用工具从 源代码中的注释。这导致了一个声明性的 程序员说应该做什么和应该做什么的编程风格 工具发出执行此操作的代码。”

    1) 我真的不认为“注释”、“静态变量”或“全局变量”之间有任何共同之处——苹果、桔子和金橘

    2) “注释”的一个好例子可能是JAXWS web服务:

    • 在这种情况下,支持JAXWS的工具可以识别“@WebService”类和“@WebMethod”方法,解析Java代码并从中自动生成适当的代理、存根、WSDL等

    3) 下面是对“注释”的一个很好的介绍:

    *

    它[基于注释的开发]让我们避免编写样板文件 在许多情况下,通过启用工具从 源代码中的注释。这将导致声明性 程序员说应该做什么和应该做什么的编程风格 工具发出执行此操作的代码。”

    本质上是元数据,也就是说,它们告诉我们一些关于类、方法或参数的信息,但不是它们注释的代码的一部分。类变量构成代码本身的一部分,用于存储应用程序中使用的数据,这是一个非常不同但同样重要的目的

    一个有用的例子是
    @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?