一、概要
通过了解Java4种修饰符访问权限,能够进一步完善程序类,合理规划权限的范围,这样才能减少漏洞、提高安全性、具备表达力便于使用。
二、权限表
修饰符 | 同一个类 | 同一个包 | 不同包的子类 | 不同包的非子类 |
---|---|---|---|---|
Private | √ | × | × | × |
Default | √ | √ | × | × |
Protected | √ | √ | √ | × |
Public | √ | √ | √ | √ |
三、说明
3.1 private
访问限制的最窄的修饰符,一般称之为“私有的”。被其修饰的类、属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。
3.2 Default
“默认访问模式“,即不加任何访问修饰,只允许在同包中进行访问。
3.3 Protected
“保护形”,被其修饰的类、属性及方法只能被类本身的方法及子类访问,即使子类在不同的包中也可以访问。
3.4 Public
供所有的类访问。
四、访问权限存在的价值
4.1 安全性
试想如果对象的private属性都暴露出来,那么很可能在这些属性状态发生改变时,会影响到对象的正确状态输出,从而导致不必要的漏洞。
4.2 控制力
通过设定合理的权限范围,可以安心修改底层实现,而不用担心干扰到使用者的状态。
4.3 表达能力
让类或方法更具表达能力,让使用者更多的关注重要的状态,而无需受到不必要状态的混淆。