用于开始Java源文件的有效关键字
到目前为止,我知道这些关键字对于开始java源文件是有效的:
class
, public
, import
, package
, interface
和final
来自评论的补充: abstract
, strictfp
, enum
还有吗?
(感谢所有超级快速回复!随意编辑此内容以添加更多内容。)
-
你错过的真实修饰符:
abstract
,strictfp
-
像
@Retention
这样的@Retention
-
注释声明:
@interface
-
枚举:
enum
-
评论和空白
-
据我所知,没有别的
-
请记住,标识符可能会在其中使用unicode转义符,例如
cl\u0061ss
注释有效http://java.sun.com/j2se/1.5.0/docs/guide/language/annotations.html
例子
- @Preliminary @Copyright(“2002年Yoyodyne推进系统”)
- @Retention(RetentionPolicy.RUNTIME)
- @target(ElementType.METHOD)
别忘了抽象
enum
怎么样?
private
怎么样?
编辑:好的,这是我当天的愚蠢脱口秀。
abstract
对于Java> 1.5, enum
也是如此。 正如其他人所提到的, abstract
。
现在查看关键字列表和修饰符矩阵,您只会错过strictfp。
您应该看一下Java编程语言的语法 。 从那里你可以推断出所有可能的关键词。
您应该从CompilationUnit开始。
同样来自http://java.sun.com/j2se/1.5.0/docs/guide/language/annotations.html ,不要忘记@interface
!
编辑:此外, strictfp
适用于类。 参见JLS§8.1.1 :
类声明可以包括类修饰符 。
ClassModifiers: ClassModifier ClassModifiers ClassModifier ClassModifier:其中之一 注释公共保护私人 abstract static final strictfp并非所有修饰符都适用于所有类声明。 访问修饰符
public
仅适用于顶级类(第7.6节)和成员类(第8.5节,第9.5节),并在第6.6节,第8.5节和第9.5节中讨论。 访问修饰符protected
和private
仅适用于直接封闭类声明(第8.5节)中的成员类,并在§8.5.1中讨论。 访问修饰符static
仅适用于成员类(§8.5,§9.5)。 如果相同的修饰符在类声明中出现多次,则会发生编译时错误。
module
。 在JDK7中。 也许。 (技术上不是真正的关键字。)
(并且这是一个空文件有效吗?作为package-info.java
?这对我来说并不是一个非常有趣的问题。
不要忘记static和protected以及javaDoc注释