包装修饰符有什么意义?

dot*_*141 1 java modifier

我不明白这样的包修饰符(不是注释):

public package foo;

public class Bar {
}
Run Code Online (Sandbox Code Playgroud)

他们有什么意义吗?

Jon*_*eet 7

在JLS包改性剂的类型是一个注释.来自JLS 7.4.1:

PackageDeclaration:
{PackageModifier} package 标识符{.标识} ;

PackageModifier:
Annotation

So public package foo;语法无效.

这是在某些版本的Eclipse下编译的,因为在某些情况下已经修复了一个bug,并且将在Eclipse 4.4以后的所有条件下修复.

  • 在eclipse 4.3中它编译(没有显示错误,所以我猜这是编译器中的一个错误 (2认同)