Java 类体系全景
12620
画布
|大纲
内容详情
类的 3 种类型
抽象类(Abstract Class)
- 标识与特征
- abstract 修饰
- 禁止 new 实例化
- 可含抽象方法(无实现体)+ 普通方法
- 作用与约束
- 通用模板:定义子类公共结构与行为
- 子类必须重写全部抽象方法,否则自身仍为抽象类
实例类(Concrete Class)
- 独立实例类
- 无 abstract/static 修饰
- 可直接 new 创建对象
- 示例:Employee、User
- 非静态嵌套实例类
- 依赖外部类实例存在
- 示例:Company.Department
静态类(Static Class)
- 仅嵌套可用
- 仅内部类可加 static
- 无需外部实例即可 new
- 访问限制与用途
- 只能访问外部类静态成员
- 封装工具/辅助逻辑,如 Company.Office
6 种类间关系(弱→强)
依赖(Dependency)
- 临时使用:方法参数或局部变量
- 示例:Student.study(Book book)
关联(Association)
- 长期引用:成员变量持有
- 可单向/双向
- 示例:Teacher 拥有 List
聚合(Aggregation)
- 整体-部分,部分可独立生存
- 示例:Team 包含 Player,球队解散球员仍在
组合(Composition)
- 整体-部分,部分与整体同生命周期
- 示例:Car 包含 Engine,汽车报废发动机失效
继承(Inheritance)
- is-a 关系,单继承
- 子类继承属性/方法并可重写
- 示例:Dog extends Animal
抽象类继承(特殊继承)
- 子类必须实现所有抽象方法
- 否则子类仍为抽象类
- 示例:Cat extends Animal 并实现 eat()
Object 顶层父类
隐式继承
- 所有类默认 extends Object(无需显式声明)
5 大核心方法
- equals()
- 默认比较内存地址;重写用于属性比较
- hashCode()
- 默认基于内存地址;重写 equals() 必须同步重写
- toString()
- 默认“类名@哈希码”;重写用于属性展示
- clone()
- 对象拷贝;需实现 Cloneable 接口
- finalize()
- 回收前清理(已弃用)
各类与 Object 关系示例
- 实例类 Employee:可重写 toString()
- 抽象类 Animal:抽象方法不与 Object 方法冲突
- 静态类 Company.Office:同样可重写 equals() 等
