编辑以修复被标记为重复或更清楚为什么它似乎是重复的。当时我不知道这个包和默认值在哪里,因此这篇文章的原因是一样的。
现在我在准备我的 Java 考试时通过考试问题,我有一个问题要我解释访问修饰符并询问我关于包修饰符的问题。
我可以找到有关私有、受保护、公共和默认的信息,但在 Package 上找不到任何内容。
有人可以给我答案或将我链接到有关它的文章吗?
编辑以修复被标记为重复或更清楚为什么它似乎是重复的。当时我不知道这个包和默认值在哪里,因此这篇文章的原因是一样的。
现在我在准备我的 Java 考试时通过考试问题,我有一个问题要我解释访问修饰符并询问我关于包修饰符的问题。
我可以找到有关私有、受保护、公共和默认的信息,但在 Package 上找不到任何内容。
有人可以给我答案或将我链接到有关它的文章吗?
package-private
不是真正的修饰符。您无法键入package-private
并让系统将其识别为访问修饰符。这实际上是默认设置,不包含任何其他修饰符。
这意味着给定的成员只能在同一个包中访问。
例如,com.hexafraction.Cow
可以使用 in 中的默认修饰符(实际上没有)访问成员com.hexafraction.Dog
,但com.foo.Crow
不能访问该成员,因为它不在同一个包中。
在此示例中,以下内容组成Cow
:
pacakge com.hexafraction;
class Cow{
void moo(){ //no public, protected, or private modifier
System.out.println("moo!");
}
}
未来的编辑:在 Java 8 中,package
应该是为此所需的修饰符。字面输入default
在这里仍然不适用。
所谓的“包私有”访问级别是在没有修饰符的情况下发生的,例如private
,protected
或public
。
例子:
public class Test {
int test; // package-private
}
同一个包中的任何东西,即使是不相关的类,都可以访问它,但包外的其他类(甚至是该类的子类)不能访问它。
这个指向该主题的 Java 教程的链接应该会有所帮助。