我知道这个@interface元素用于在Java中定义注释。
我知道注释是在Java 5中引入的。
我的问题:
1)如何(正式)调用该元素,并且由于
编译器何时识别该元素,即何时引入?
它是注解还是元注解本身?
2)在Java 8(例如Java 5或6)中是否存在其他
用于定义注释的元素/方式,或者
自从其在语言中出现以来就一直以这种方式进行定义?
该元素是如何(正式)调用的,以及由于编译器何时识别它,即何时引入?
一个注释类型声明。这是在Java 5中添加的。
它是注解还是元注解本身?
不,@interface
本身不是注释,它只是一个关键字,interface
后跟一个@
。这不是元注释。元注释是可以在注释类型声明中使用的注释。JDK本身有很多(例如@RetentionPolicy
)。
在Java 8(例如Java 5或6)之前,还有其他一些元素/方式用于定义注释
不。
还是自从出现这种语言以来就一直以这种方式定义它们?
是的。
注释已在Java 5中添加,并且@interface
始终是创建注释的方法。过去没有其他机制可以创建注释。
为什么@interface
而不是这样的新关键字annotation
:这样做是为了向后兼容。添加新的关键字意味着您会立即产生向后兼容性问题,因为为较早版本编写的程序可能已将关键字的名称用作变量名。这样的程序将不再在新版本上编译。因此,当他们想向Java添加新功能时,Oracle宁愿重用现有的关键字而不是创建新的关键字。
也就是说,在Java的发展过程中添加了新的关键字,例如enum
and assert
(在Java 1.4中添加了)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句