private < default < protected < public
这些访问修饰符决定了当前的访问被不补允许。
一、private : 只能在当前类中被访问
二、default: 只能在当前包中被访问
三、protected:
1)protected 在default 的基础上,只增加了子类对象内部访问的权限。
2)如果不是在子类对象本身内部调用,则仍然要满足当前包的限定要求才能访问被修饰的属性或方法。 此处的当前包的含义仍然是指父类的当前包,并非子类的当前包。因为从本质上说,那个方法仍然是父类声明的方法,存在于父类class文件的方法描述当中。
3)如果子类重写(覆盖)了父类声明的protected 方法或属性,则该方法或属性会存在于当前子类的class文件中,发生访问时,以当前子类为基准判断是否同包
四、public: 不作限制,可以在任何地方被访问