首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >@interface -什么?

@interface -什么?
EN

Stack Overflow用户
提问于 2011-10-14 08:48:22
回答 2查看 2.7K关注 0票数 5

我知道什么是接口,但我对java的了解还不够多,不知道如何搜索我的答案。那么这意味着什么,它做了什么:

代码语言:javascript
复制
public @interface ThreadSafe { }

// different file

@ThreadSafe
public class Model {

这一行"@interface“是什么意思?当它被应用在"@ThreadSafe“上面时,它意味着什么/做什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-14 08:54:21

这称为注解。您可能想看看Java教程。它很好地解释了它们是什么以及它们是如何使用的。

https://docs.oracle.com/javase/tutorial/java/annotations/index.html

票数 5
EN

Stack Overflow用户

发布于 2017-04-12 21:53:53

许多注释替换了代码中的注释。

假设软件组传统上以提供重要信息的注释开始每个类的主体:

代码语言:javascript
复制
public class Generation3List extends Generation2List {
    // Author: John Doe
    // Date: 3/17/2002
    // Current revision: 6
    // Last modified: 4/12/2004
    // By: Jane Doe
    // Reviewers: Alice, Bill, Cindy  

    // class code goes here
}

要添加带有批注的相同元数据,必须首先定义批注类型。执行此操作的语法为:

代码语言:javascript
复制
@interface ClassPreamble {
   String author();
   String date();
   int currentRevision() default 1;
   String lastModified() default "N/A";
   String lastModifiedBy() default "N/A";
   // Note use of array
   String[] reviewers();
}

注释类型定义类似于接口定义,在接口定义中,关键字interface前面有at符号(@) (@ = AT,如在注释类型中)。注释类型是一种接口形式,将在后面的课程中介绍。目前,您不需要了解接口。

前面批注定义的主体包含批注类型元素声明,它们看起来很像方法。请注意,它们可以定义可选的默认值。

定义注释类型后,可以使用该类型的注释,并填充值,如下所示:

代码语言:javascript
复制
@ClassPreamble (
   author = "John Doe",
   date = "3/17/2002",
   currentRevision = 6,
   lastModified = "4/12/2004",
   lastModifiedBy = "Jane Doe",
   // Note array notation
   reviewers = {"Alice", "Bob", "Cindy"}
)

public class Generation3List extends Generation2List {
// class code goes here
}

来源:https://docs.oracle.com/javase/tutorial/java/annotations/declaring.html

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7762024

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档