参考博文: http://my.oschina.net/u/1169535/blog/403589
1)public:它是具有最大的访问权限,可以访问任何一个在CLASSPATH下的类,接口,异常等。他往往用于对外的情况,也就是对象或类对外的一种接口的形式。
2)default:他是针对于本包的访问而设计的,任何处于本包下的类,接口,异常等,都是可以相互访问的,即使是父类用protected修饰的成员也可以。
3)protected:它主要的作用实用类保护子类的。它的含义是在子类可以用它修饰的成员,其他的不可以。相当于传递给子类的一种继承的东西。
4)private:他的访问权限仅限于类的内部,是一种封装的体现。
`注意:Java的访问控制是停留在编译层的,也就是它不会在.class文件中留下任何的痕迹,只有在编译的时候进行访问控制的检查。其实,通过反射的手段,是可以访问任何包下任何类的成员。例如:访问类的私有成员也是可能的。