首先还是建议大家去看我的参考链接,因为那是官方的文档。
Ok,用两张表格说明问题:
如上图所示:
public 类型的,对于class 本身,以及同一包内的class,以及子类,以及所有的class 都可见。
protected 类型的,对于class 本身,以及同一包内的class,以及子类可见,但对其他范围的类不可见。
无任何修饰符,默认是包内可见。对于子类也不可见。
private 只在当前类可见。
上面这两张图,描述了两个包,package one , 以及package two ,Alpha 类 在不同修饰符下,对其他类的可见范围。
比如第三列,Alpha 类成员对于 Alphasub 来说,publiic,protected 是可见的,但是对于没有任何修饰符的(即包可见),以及private 的成员,都是不可见的。
参考:/javase/tutorial/java/javaOO/accesscontrol.html