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

时间:2017-05-14 02:17:11

标签: java annotations

我看到@Interface用于声明注释。 @Interface是否也可用于声明注释以外的其他内容?

如果没有,为什么不把它称为@Annotation或什么?

2 个答案:

答案 0 :(得分:0)

  

是否存在不是注释的Java接口?

是的,定期interface s:

public interface MyInterface {...}
  

是否可以使用@Interface来声明注释以外的东西?

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

  

为什么不直接称它为@Annotation或什么?

因为注释是一种界面,请参阅我给你的其他问题的answer

  

注释类型声明指定新的注释类型特殊类型的接口类型。

(大胆强调是我的)和tutorial

  

注释类型是 interface

的一种形式

答案 1 :(得分:0)

  

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

实际上,它是@interface,区别很重要;见your other Question

  

如果没有,为什么不把它称为@Annotation或什么?

  1. 因为他们没有。

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

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

    (这就是他们对enum所做的事情,它给某些人带来了问题。在这种情况下会导致更多问题...因为现有的旧Java代码有多少在过去的〜15年里成长。)

  4. 说真的,没有必要问一下“为什么他们不按照我的方式设计Java?”这一形式的问题。他们实际上不会帮助你完成工作......除非你的工作是设计编程语言。如果是,那么您可能已经明白,以满足每个人的方式解决冲突的PL设计要求是不可能的。