Java访问修饰符有4中,分别为public、private、default、protected。主要用来修饰类、方法、变量、常量等,可以控制被修饰对象得访问权限。
- default:默认的,也就是什么都不写时候就是他了,可以访问在同Package中对象,子孙类(同包中)。
- public:公开的,权限最大得。
- private:私有的,权限最小,只能在自己类中访问,但是可以通过反射代理进行破解,不能用来修饰外部类,内部类是ok得。
- protected:保护的,和private一样不能修饰外部类,解决了default不同包不能访问子孙类问题
图解:
| 修饰符 | 当前类 | 子孙类(同一包) | 子孙类(其他包) | 同一包 | 其他包 | 修饰类 |
|---|---|---|---|---|---|---|
| public | √ | √ | √ | √ | √ | √ |
| protected | √ | √ | √ | √ | × | × |
| default | √ | √ | × | √ | × | √ |
| private | √ | × | × | × | × | × |
对着这个列表用代码试一遍就清晰明了呢。



