Java中的访问修饰符
这个问题在这里已经有了答案:
package-private
不是一个真正的修饰符。 您无法键入package-private
并让系统将其识别为访问修饰符。 这真的是默认设置,不包括任何其他修饰符。
这意味着给定的成员只能在同一个包中访问。
例如, com.hexafraction.Cow
可以在com.hexafraction.Cow
中访问具有默认修饰符(实际上没有)的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教程的链接应该有所帮助。
链接地址: http://www.djcxy.com/p/24063.html