Java 类设计:对象组合、单例与不可变类详解
1. 含引用类型成员类的 hashCode
方法实现
如果类包含引用类型成员,实现 hashCode
方法时可借助该引用类型的 hashCode
方法。例如,有一个 Circle
类,包含一个 Point
类型的成员 center
和一个 int
类型的 radius
:
class Circle {
private int radius;
private Point center;
// 其他成员省略
public int hashCode() {
return center.hashCode() ^ radius;
}
}
2. 对象组合
对象组合是指将多个独立的对象组合成一个更大的抽象对象,组合对象与包含的对象之间存在 “HAS - A” 关系。
例如,计算机是一个复合对象,包含 CPU、内存和硬盘等对象,计算机与这些对象之间就是 “HAS - A” 关系。
以下是一个使用 Point
对象定义圆心的 Circle
类示例:
// Point 是一个独立的类,这