java - Java中的类中可以嵌套注解吗?

标签 java class interface annotations

我试图了解如何调用此注释@WebMethod

import javax.jws.WebService;
import javax.jws.WebMethod;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style;

@WebService          //<----- is this annotation nested in WebService class
@SOAPBinding(style = Style.RPC)
public interface TimeServer {


    @WebMethod String getTimeAsString();  //<-------is this nested in a class too
    @WebMethod long getTimeAsElapsed();
}

根据我的导入 javax.jws.WebMethod 和 Java 文档
http://docs.oracle.com/javase/7/docs/api/javax/jws/WebMethod.html
描述了public @interface WebMethod

@WebMethod 注解是否定义为 WebMethod 类?
WebMethod 类的源代码可能是这样的吗?

Public class WebMethod{
   //members
   //methods
  public @interface WebMethod{ //annotation definition in class, is this possible
  }
}

如果不是这种情况,请让我通过一个简单的示例来说明它是如何完成的。

最佳答案

不,就像您链接到的 Javadoc 中所说,它的定义为

@Retention(value=RUNTIME)
@Target(value=METHOD)
public @interface WebMethod

因此,这是您在方法 (@Target(value=METHOD)) 上添加的注释 (@interface)。

@WebMethod 没有“嵌套”到@WebService 中,它们是两个独立的注释(但当然,它们协同工作)。一个用于方法,另一个用于由 @Target 定义的类。

关于java - Java中的类中可以嵌套注解吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17676163/

相关文章:

c# - 根据两个值 C# 对点类列表进行排序

jquery:根据类名变量隐藏/显示

java - 尽管 Java 版本相同,但仍出现 UnsupportedClassVersionError

android - 如何将数据从 BottomSheetDialogFragment 返回到父 Fragment

java - 我可以创建在 JBOSS 服务器上运行的类的对象吗?

java - 我面临 Volley 超时错误和 mainThread 错误

java - 如何用 jetty.port 覆盖 jetty.xml

java - 将数组的顺序复制到新数组

sql-server - 我可以在 SQL Server 中强制用户进行某些设置吗?

java - 接口(interface)及扩展