Java - 访问控制 - 基本

Posted 轩辕拾銉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java - 访问控制 - 基本相关的知识,希望对你有一定的参考价值。

  1. 概述

    1. Java 访问控制
      1. 暂时不讲 protected
    2. 这更像是一篇 总结 而非 教程
  2. 背景

    1. 偶然看到了自己很久之前写的一篇关于 访问控制 的内容
      1. 发现写的并不怎么好
      2. 所以决定重写

1. 目的

  1. 原话

    Java 编程语言提供了用于 访问控制 的机制
    用以防止包或类的用户对该包或类的实现细节造成不必要的依赖
    
  2. 我的理解

    1. 划分作用域
    2. 程序解耦

2. 机制

  1. 确定

    1. 时期
      1. 编译时期最终确定
  2. 依赖

    1. 类型
    2. 声明修饰符

3. 关键字

  1. 概述
    1. 访问控制的关键字

1. public

  1. 概述

    1. public
  2. 作用

    1. 让修饰的对象, 可以被任何代码访问
  3. 修饰对象

    1. 方法
    2. 对象

2. default

  1. 概述

    1. default
  2. 作用

    1. 让修饰的对象, 可以被包内代码访问
    2. 不加修饰符时的 默认值
  3. 修饰对象

    1. 方法
    2. 对象

3. private

  1. 概述

    1. public
  2. 作用

    1. 让修饰的对象, 可以被 同类 代码访问
  3. 修饰对象

    1. 方法
    2. 对象

4. protected

  1. 概述
    1. 这次不讲
    2. 和 继承有关, 最好和 继承 一起讲

4. 可访问性

  1. 概述

    1. 再从 Java 代码工程中 各个元素 的维度, 说一下访问控制
  2. 环境

    1. 假设, 所有的项目结构和代码, 都在 一个工程下
      1. 这样比较简单...

1. 包

  1. 概述

    1. 包的可见性
    1. 必须 public
      1. 包 对工程内的所有代码都可见
      2. 无需使用 访问控制关键字

2. 类

  1. 概述

    1. 类的可见性
      1. 类不能用 private 修饰
    1. public

      1. 所有代码可见
      2. 一个 class 文件, 只能有一个 public 类
    2. default

      1. 仅仅 同包 代码可见

3. 方法

  1. 概述

    1. 方法的可见性
  2. 方法

    1. public

      1. 所有代码可见
    2. default

      1. 包内所有代码可见
    3. private

      1. 最大的范围, 在 包围该成员的 顶层类

4. 属性

  1. 概述

    1. 属性的可见性
  2. 属性

    1. 同 方法

5. 画个表

  1. 概述

    1. 最后画个表吧...
  2. 表格

public default private
所有代码 O X X
包内代码 O O X
同文件顶层类 O O O

ps

  1. ref

    1. Java 语言规范(SE 8)
  2. 后续

    1. 继承与 protected

以上是关于Java - 访问控制 - 基本的主要内容,如果未能解决你的问题,请参考以下文章

java知识28 Java封装多测师

Java工程师面试题,二级java刷题软件

Java 封装

经验总结:Java高级工程师面试题-字节跳动,成功跳槽阿里!

扫地阿姨看完都学会了!java高级架构师考试

Java 封装