重新理解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 × × ×

    1. public 公开,很好理解,就是大家都知道都看到,都能用,比如一个人写了一个博文并放到网络上,并没有声明不可转载

    2. private 私有,也很好理解,一个人独有设计思维,或者文学修养,这个只有他一个人有。所以任何地方需要这个人的思维,你就要邀请他,声明一个他

    3. protected 保护,这个相对那么理解,可以这么认为吧,一个人有一个特有的基因突变,这个突变令其长寿,这个只有 他自己 和 他的所有儿女有 (无论是否在他的住所里)

    4. default/friendly 默认情况,也就是不加修饰,那么就是友好啊,一个人开了一个无线wifi,免密,那么住的这栋楼,家里人,街坊,邻居都能使用,但是除了这栋楼就没人能用了

(0)

相关推荐

  • Java中常用修饰符浅谈

    一.public.protected.default和private修饰符的作用域 public:在java程序中,如果将属性和方法定义为 public 类型,那么此属性和方法所在的类和及其子类,同一 ...

  • Java 面向对象

    一.面向对象的三条主线 1.Java类及类的成员:属性,方法,构造器:代码块,内部类 2.面向对象的三大特征:封装性,继承性,多态性,(抽象性) 3.其他关键字:this, super, static ...

  • Java反射机制是什么?

    Java反射机制是Java语言的一个重要特性.在学习Java反射机制前,大家应该先了解两个概念,编译期和运行期. 编译期是指把源码交给编译器编译成计算机可以执行的文件的过程.在Java中也就是把Jav ...

  • Java基础之:访问修饰符

    Java基础之:访问修饰符 java提供四种访问控制修饰符号控制方法和属性(成员变量/字段)的访问权限(范围): 1) 公开级别:用public 修饰,对外公开 2) 受保护级别:用protected ...

  • 最简单直接地理解Java软件设计原则之里氏替换原则

    理论性知识 定义 里氏替换原则,Liskov Substitution principle(LSP). 抽象定义是下面这样的 如果对每一个类型为T1的对象O1,都有类型为T2的对象O2,使得以T1定义 ...

  • 《深入理解Java虚拟机》 Java对象的生命周期

    Java虚拟机运行时数据区 方法区:存储 类信息.常量.静态变量.即使编译器编译后的代码等数据,也有别名叫做非堆.  方法区其中有包含有 运行时常量池,用于存放编译期生成的各种字面量和符号引用.其中, ...

  • Springer Nature免费开放500余本关键教科书访问权限,小编带你先睹为快

    新冠疫情的爆发对全球教育产生了前所未有的影响.为了支持全球范围内高等教育机构的教学工作,Springer Nature启动了一项全球计划,免费提供500余本关键教科书的访问权限. 免费教材通过Spri ...

  • DRF之访问权限控制和访问频率控制(节流)

    权限控制 前言 用户验证用户权限,根据不同访问权限控制对不同内容的访问. 建议了解视图.token验证的内容. 使用流程 自定义访问权限类,继承BasePermission,重写has_permiss ...

  • 进程安全和访问权限

    流程安全和访问权限Microsoft Windows 安全模型使您能够控制对进程对象的访问.有关安全性的更多信息,请参阅访问控制模型.当用户登录时,系统会在身份验证过程中收集一组唯一标识用户的数据,并 ...

  • 访问权限

    原文链接http://zhhll.icu/2020/05/01/java%E5%9F%BA%E7%A1%80/%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1/java%E5% ...

  • 手机QQ空间如何设置访问权限(附详细步骤)

    一.进入手机QQ点击:[动态]>[好友动态]->[我的头像]>[右上角设置]中进行设置操作. 二.点击右上角三条横线,选择好友动态设置 三.根据需要进行空间动态设置 谁能看我的空间: ...

  • 细思甚恐!为什么所有APP都想获取各种访问权限?

    隐私保护是个大问题,但并不是每个人都在意它. 就拿我们最常见的手机权限来说,访问相册,开启定位,获取联系人列表,还有调用麦克风-- 弹窗一多,图方便或是无所谓的朋友基本就无脑点「允许」了. 当然,有时 ...

  • 深入理解Java虚拟机 &GC分代年龄

    转自:https://www.cnblogs.com/xiarongjin/p/8309839.html 堆内存 Java 中的堆是 JVM 所管理的最大的一块内存空间,主要用于存放各种类的实例对象. ...