Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java是否提供';朋友';访问修改器?_Java_C++ - Fatal编程技术网

Java是否提供';朋友';访问修改器?

Java是否提供';朋友';访问修改器?,java,c++,Java,C++,我想知道Java是否提供了“friend”(如C++)访问修饰符?有人说我们可以在Java中将“friend”作为默认修饰符。这是真的吗?Java中没有友好的修饰符。在Java中,它被称为包私有。它是默认的修饰符。它允许同一程序包的成员访问它。Java中的默认访问修饰符允许同一程序包中的任何代码访问成员。在Java中没有名为- “友好的” 默认访问修饰符没有关键字,但通常称为“友好”。这意味着当前包中的所有其他类都可以访问友好成员,但对于此包之外的所有类,该成员似乎是私有的。由于编译单元(文件)

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

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

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

在Java中没有名为-

“友好的”


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

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

然而,OSGI和(希望如此)即将推出的超级包试图将这个概念扩展到更高级别的类分组中的类