Java 权限访问修饰符public、friendly、protected、private,记录下这几个权限的范围。
一、背景补充
访问权限是为了管理对象与外部使用者交互的范围,外部使用者能够根据不同的访问权限与所使用的对象进行通信,同时,访问权限能够很好的将内部的逻辑很好的封装控,使得使用者更容易理解使用,同时在重构的过程中也能减少对客户端的感知,重构的时候可以修改对客户端无感知的过程。
访问权限是基于包(package)概念上建立起来的,本包、外部包之间的类交互控制是通过访问权限进行控制的。
包是一种命名空间管理规则,是Java约定的一种规则,能够很好的解决同类名的冲突管理。可以通过package xx.yy.zz 形式对类进行管理,且只能在Java文件的第一行进行声明。可以通过import xx.yy.zz.A(A是类名称)或者mport xx.yy.zz.*进行引入使用外部包类。
如果类没有明确定义,将默认使用当前目录的匿名空间。
在包概念的管理下,如果制定一个第三方工具jar包,实际上是将类的 class文件用包结构进行管理,比如打包成工具类utils.jar,JDK根据CLASSPATH路径去搜索jar包并进行解析,需要目标类是否存在,如果存在,则可以使用,CLASSPATH默认从当前目录搜索的前提是路径中带有“.”,“.”代表当前目录。
二 、权限访问修饰符的范围
下表是权限访问符的范围,不同的访问符支持不同的访问权限。下面列出是否具有访问权限:(能:能访问, 不能:不能访问)<