OnJava8笔记2 -- 封装——各种访问权限

封装——各种访问权限

为什么会有访问权限

访问权限对于类库开发人员很重要,有的时候客户端开发人员不希望类库被改变,所以需要访问权限来缩小客户端开发人员的控制范围,这样就能保证接口不会随着更新而变化,虽然内部代码改变了,但客户端开发人员使用类库的过程没有变化。

  • 一个编译单元(.java文件)只能有一个public类,若一个编译单元中还有其他类,这个类在包之外是无法被访问的,同包下的其他编译单元可以访问这个类

  • 一个编译单元被编译后,其中的class可以分别生成各自的 .class 文件。jar包就是这些 class 文件的集合

访问权限修饰符

  • 访问权限修饰符包括:public private protected 和 默认访问权限(无修饰符,被称为包访问权限)

包访问权限

  • 只有在同一个包中,才有权利访问

public

  • 任何地方都能访问

private

  • 只能在同一个类中访问 private 修饰的成员

protected: 继承访问权限

  • 同一个包中,可以被访问
  • 不在同一个包中,只有继承了父类的类中才能使用父类的 protected 成员 (这也是与包访问权限的区别)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 6.1 包:库单元 控制对成员的访问权限有两个原因: 第一,为了使用户不要碰触那些他们不该碰触的部分,这些部分对于...
    jchenluo阅读 394评论 0 0
  • 为什么要有访问权限控制? 重构(Refactor)即对现有代码进行重新构造、书写,从而使得代码更具有可读性、更容易...
    LilacZiyun阅读 1,569评论 3 3
  • 访问控制(或隐藏具体实现)与 “最初的实现并不恰当” 有关 如何理解: 1.不可能一次性编写出完美的代码 需要反复...
    WandaGao阅读 355评论 0 0
  • 面向对象设计的2个基本问题:如何把变动的部分与保持不变的部分区别开来?开发者如何约定权限来修改和改进代码,并确保客...
    布衣不才Jerry阅读 217评论 0 0
  • 今天小萌萌从内蒙古回来了,她回来第一个就来看我。看着她长高了,听着她愉悦地汇报着她的成长和学习,我的内心是...
    穗榕阅读 213评论 0 3