Jvm 什么';Java数组类的包是什么?

Jvm 什么';Java数组类的包是什么?,jvm,specifications,Jvm,Specifications,这个问题是针对JVM规范倡导者的。根据JVMS,Java SE 7版,第5.3.3节,最后一段: 如果组件类型是引用类型,则数组类的可访问性由其组件类型的可访问性决定。否则,数组类的可访问性是公共的 因此,数组类可以具有包可见性。从逻辑上讲,我希望,如果foo.baz.MyClass具有包可见性,那么MyClass的数组仅对包foo.baz可见。但是我在规范中找不到任何支持这种观点的东西。第5.3节说,应该用来确定可见性约束的运行时包是由包的二进制名称加上定义类加载器构建的。但是二进制名称来自类

这个问题是针对JVM规范倡导者的。根据JVMS,Java SE 7版,第5.3.3节,最后一段:

如果组件类型是引用类型,则数组类的可访问性由其组件类型的可访问性决定。否则,数组类的可访问性是公共的

因此,数组类可以具有包可见性。从逻辑上讲,我希望,如果foo.baz.MyClass具有包可见性,那么MyClass的数组仅对包foo.baz可见。但是我在规范中找不到任何支持这种观点的东西。第5.3节说,应该用来确定可见性约束的运行时包是由包的二进制名称加上定义类加载器构建的。但是二进制名称来自类文件,数组类没有类文件。基本类(例如Boolean.TYPE)也有类似的问题,它们显然具有公共可见性,但我在任何地方都找不到关于它们的信息


你能在JVM中找到一个明确定义了数组/基元类包的点吗(或者是没有定义的原因)?

这不正是规范中引用的内容吗

如果组件类型是引用类型,则数组类的可访问性由其组件类型的可访问性决定

如果您有一个类some.pkg.SomeClass并希望将其用作some.pkg.SomeClass[],则可访问性由其组件类型的可访问性决定。在本例中,组件类型为some.pkg.SomeClass

另一种情况是本机类型,您不能向Java添加更多的本机类型