我有一个项目P1,它有一个包A.B.C,其中有一个类MyClass1。此类具有默认范围。因此,它在项目P1中的任何其他包中都不可见,并且当然对任何其他项目都不可见。
但是,如果我创建另一个具有相同名称A.B.C的包的项目P2,我可以访问类MyClass1。这听起来很糟糕,因为任何想要使用未暴露的API的人都可以创建一个具有相同名称的包并获得访问权。
这是预期的行为吗?
-
另一个相关问题:Java中是否存在项目级别范围内的任何内容?
答案 0 :(得分:5)
这是预期的行为吗?
是。这就是为什么你不能用java.*
命名你的包裹。
项目级范围内有Java吗?
没有