《Java编程思想》第一章笔记
2026/8/24大约 2 分钟
《Java编程思想》第一章:对象导论
从面向对象的核心概念出发,理解封装、继承、多态与类间关系,是 Java 面向对象思想的基础。
一、封装
- 隐藏对象内部脆弱的部分,减少程序 bug
- 通过访问控制修饰符实现:
public、protected、包访问、private - 两个存在原因:
- 让调用者无法触及不应触及的部分
- 允许库设计者改变内部实现而不影响调用者
二、继承
代码复用
- 最简单的复用是直接调用类方法;将类作为新类的属性成员即组合复用
- 组合在运行时动态修改行为,继承在编译期确定行为
继承的两种方式
- 子类添加新方法(扩展父类接口)
- 子类覆写父类方法(不新增接口)
is-a 与 is-like-a
- is-a:只覆写不新增,子类可完全替代基类(替代原则/里氏替换)
- is-like-a:新增了接口,仍可替代基类,但基类无法访问新增方法
三、多态
- 非 OOP 编译器产生前期绑定;OOP 使用后期绑定(运行时确定方法地址)
- Java 默认动态绑定,无需额外关键字;C++ 需
virtual显式声明
四、Java 的类型体系
- 四种类型:
interface、class、array、基本类型(primitive) - 前三者为引用类型;类实例和数组是对象,基本类型值不是对象
- 方法签名 = 方法名 + 参数类型(不含返回类型)
五、类与类之间的关系
| 关系 | 含义 | Java 体现 | 图示 |
|---|---|---|---|
| 泛化 | 继承 | extends | 虚线三角箭头 |
| 实现 | 接口实现 | implements | 实线三角箭头 |
| 关联 | 类间联接(可双向/单向) | 实例变量 | 实线箭头 |
| 聚合 | 整体与个体的强关联 | 实例变量(逻辑判断) | 实线 + 空心菱形 |
| 合成 | 比聚合更强,整体负责部分生命周期 | 实例变量 | 实线 + 实心菱形 |
| 依赖 | 单向,临时使用 | 局部变量、方法参数、静态调用 | 虚线箭头 |
关联与聚合在 Java 语法上无法区分,需考察逻辑关系;不确定时按关联处理。