Java类可访问性
与我的另一个问题略有关系:以下几点有什么区别:
private class Joe
protected class Joe
public class Joe
class Joe
最后两点之间的差异再次是我最感兴趣的。
任何包装内的课程都可以访问公共课程。
具有默认访问权限的class Joe
( class Joe
)只对同一个包中的其他类可见。
私有和受保护的修饰符只能应用于内部类。
私有类只对其封闭类和其他内部类在同一个封闭类中可见。
受保护的类对同一包中的其他类以及扩展封闭类的类可见。
有关更多信息,请参阅JLS。
具有默认访问权限的类在声明中没有前面的修饰符。
默认访问是一个包级访问,因为具有默认访问权限的类只能被同一包中的类看到。
如果某个类具有默认访问权限,则另一个包中的类将无法创建该类的实例,甚至不能声明变量或返回类型 。 编译器会抱怨。 例如:
package humanity;
class Person {}
package family;
import humanity.Person;
class Child extends Person {}
尝试编译这2个来源。 正如你所看到的,它们在不同的包中,编译将会失败。
链接地址: http://www.djcxy.com/p/4111.html下一篇: Isn't "package private" member access synonymous with the default (no