重新理解Java成员的访问权限
Java中有四类访问权限
public
private
protected
default (即不设定修饰符)
之前一直都没有仔细理解和使用权限修饰符,以致于在看别人的一些源码上不能理解,也一直在写低质量代码。
最近看到“码农翻身”公众号刘大大开了一门课,每季度付费300,虽然目前手头拮据,但想想一直凭自己看书实践,确实还是一直停留在半入门阶段(不了解的朋友其实可以直接使
jd-gui.jar
这个软件看一下TBtools。虽然确实实现了一些东西,但是仔细看进去,我的重点还是在于对Java这门语言的理解不够深入。其中确实用到不少基础的东西,包括内部类,继承,接口等,但对于反射,泛型,或者更大的各种Java框架,并直接不能算是理解。毕竟说是提高班,不是入门班。所以我还报了名,我自以为,入门只需要靠自己,进阶还是需要有朋友或老师指点。这正如生物信息的学习,入门上,我觉得自己多看文献,谷歌百度即可,而更进一步,你则需要多和老师以及专业做生物信息的朋友交流,无论是实践上和思维上(感谢 bioinformatic*中国 QQ群(276151571)的朋友们)
有幸参加课程,无奈自测题目中的一道就错在这个基础知识上。以下重新看了基础书籍,重新学习:
public 修饰符,即表明,该成员为所有包 的 所有类可以访问
private 修饰符,即表明,只有 所有包 的 当前类 可以访问
protected 修饰符,即表明,所有包 的 当前类 或 子类 可以访问
default/friendly 修饰符,即表明,当前包 所有类 可以访问
其中:
附上表格
修饰符 类内部 包内部 子类 外部包 public √ √ √ √ protected √ √ √ × default √ √ × × private √ × × × public 公开,很好理解,就是大家都知道都看到,都能用,比如一个人写了一个博文并放到网络上,并没有声明不可转载
private 私有,也很好理解,一个人独有设计思维,或者文学修养,这个只有他一个人有。所以任何地方需要这个人的思维,你就要邀请他,声明一个他
protected 保护,这个相对那么理解,可以这么认为吧,一个人有一个特有的基因突变,这个突变令其长寿,这个只有 他自己 和 他的所有儿女有 (无论是否在他的住所里)
default/friendly 默认情况,也就是不加修饰,那么就是友好啊,一个人开了一个无线wifi,免密,那么住的这栋楼,家里人,街坊,邻居都能使用,但是除了这栋楼就没人能用了