http://blog.csdn.net/tmj2014/article/details/7787901
Java中的访问修饰符(访问控制符)包括:public,protected,default,private。分别代表了不同的访问权限。如果省略,则被视为使用了默认的default作为访问修饰符。从字面含义上面理解,很显然, 这几个访问控制符(public ->protected -> default -> private)所代表的访问权限是依次递减的。那么,所谓的访问权限是相对什么来说的呢?这个问题的答案就是,这里的权限是针对是不是同一个类、是不是属于同一个包、是不是存在父类子类关系。 public:权限最大,不受类、包等的限制,都可以访问。protected:次于public,限制之处在于如果不再同一个包中,只有和它存在继承关系的子类才可以访问它。default:进一步受限,必须是同一个包才能访问。private:这个就将权限限制在了类中,只有同一个类中的成员才能访问。下面用表格更加直观地展现一下:
private
default
protected
public
同一个类中的成员
Y
Y
Y
Y
同一个包中的成员
Y
Y
Y
不同包中但存在继承关系的子类成员
Y
Y
全局
Y