繁体   English   中英

可以有不是注解的Java接口吗?

[英]Can there be Java interfaces that aren't annotations?

我看到@Interface用于声明注释。 可以使用@Interface声明除注解以外的内容吗?

如果没有,为什么不直接将其命名为@Annotation呢?

可以有不是注解的Java接口吗?

是的,常规interface

public interface MyInterface {...}

可以使用@Interface声明除注解以外的内容吗?

不, @interface定义注释。 并注意字母大小写-它是小写的@interface ,而不是@Interface

为什么不只将其命名为@Annotation呢?

因为注解是一个类型的接口,看到答案我给你的其他问题,

注释类型声明指定了新的注释类型 ,一种特殊的接口类型。

(重点是我的),并来自本教程

注释类型是接口的一种形式

我看到@Interface用于声明注释。

实际上,它是@interface ,区别很重要。 看到你的其他问题

如果没有,为什么不直接将其命名为@Annotation呢?

  1. 因为他们没有。

  2. 因为Annotation会违反样式规则(作为标识符)

  3. 因为annotation未保留为关键字。 将其转换为关键字可能会导致许多现有的客户Java代码无法编译。

    (这就是他们使用enum所做的事情,这对某些人造成问题。在这种情况下,它将引起更多的问题……因为在过去的15年中,现有的遗留Java代码的数量一直在增长。)


认真地讲,毫无疑问地以“他们为什么不按照我本该的方式设计Java?”的形式问问题。 他们实际上不会帮助您完成工作……除非您的工作是设计编程语言。 如果是这样,那么您可能已经了解,不可能以一种满足所有人的方式解决冲突的PL设计要求。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM