Java是否提供“朋友”访问修饰符?

时间:2011-04-24 13:49:28

标签: java c++

我想知道Java是否提供'朋友'(如在C ++中)访问修饰符?有人说我们可以在Java中使用'friend'作为默认修饰符。这是真的吗?

4 个答案:

答案 0 :(得分:8)

Java中的默认访问修饰符允许成员被同一包中的任何代码访问。

答案 1 :(得分:5)

没有这样的关键字(在Java中)命名为 -

<强>“友好”

默认访问修饰符没有关键字,但它通常被称为“友好”。这意味着当前包中的所有其他类都可以访问友好成员,但是对于此包之外的所有类,成员似乎是私人的。由于编译单元(文件)只能属于单个包,因此单个编译单元中的所有类都相互自动友好。因此,友好元素也被称为具有包访问权。 友好访问允许您将相关类组合在一个包中,以便它们可以轻松地相互交互。当你将一个类放在一个包中(从而授予他们友好成员的相互访问权限;例如让他们成为“朋友”)时,你“拥有”该包中的代码。有意义的是,只有您拥有的代码才能友好访问您拥有的其他代码。你可以说友好访问给出了在一个包中将类分组在一起的意义或理由。在许多语言中,您在文件中组织定义的方式可能是毫无疑问的,但在Java中,您被迫以合理的方式组织它们。此外,您可能希望排除那些不应该访问当前包中定义的类的类。

答案 2 :(得分:3)

Java中没有友好修饰符。在Java中,它被称为包私有。它是默认修饰符。它允许同一个包的成员访问它。

答案 3 :(得分:3)

正如其他人所说,没有朋友访问,但可以使用基于包的访问。

然而,OSGI和(希望)即将推出的超级套餐试图将这一概念扩展到更高级别的一组课程中的课程。