首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java数组类的包是什么?

Java数组类的包是什么?
EN

Stack Overflow用户
提问于 2013-04-11 10:44:53
回答 1查看 111关注 0票数 0

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

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

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

您能发现JVMS中有一个点清楚地定义了数组/基元类包(或者没有定义数组/基元类的原因)吗?

EN

回答 1

Stack Overflow用户

发布于 2013-04-11 12:14:08

这不正是从说明书中引用的意思吗?

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

如果您有一个类some.pkg.SomeClass并希望将其用作some.pkg.SomeClass[],则可访问性由其组件类型的可访问性决定。在这种情况下,组件类型是some.pkg.SomeClass。

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15946757

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档