类不能带有public、private访问权限。package-info.java再怎么特殊,也是一个类文件,也会被编译成package-info.class,但是在package-info.java中只能声明默认访问权限的类,也就是友好类。
Javac中与package-info相关的命令有:
-Xpkginfo:[always,legacy,nonempty]
Control whether javac generates package-info.class
files from package-info.java files. Possible mode arguments for this option include the following.
-
(1)always
-
Always generate a
package-info.class
file for everypackage-info.java
file. This option may be useful if you use a build system such as Ant, which checks that each.java
file has a corresponding.class
file.
(2)legacy
-
Generate a
package-info.class
file only if package-info.java contains annotations. Don't generate apackage-info.class
file if package-info.java only contains comments.Note: A
package-info.class
file might be generated but be empty if all the annotations in the package-info.java file haveRetentionPolicy.SOURCE
.
(3)nonempty
-
Generate a
package-info.class
file only if package-info.java contains annotations withRetentionPolicy.CLASS
orRetentionPolicy.RUNTIME
.