【发布时间】:2016-10-08 03:18:03
【问题描述】:
我知道如何使类的对象不可变的基本规则。但是,我的要求是这样的。假设我有一个名为 School 的班级。学校有可变班级房间。房间有可变班级学生。学生有可变的班级表现等等。没有一个类实现 Serializable。现在我的要求是让类 School 不可变。另外,如果明天 School 有另一个 Mutable 类链(比如说另一个可变类 Building),我需要保留 School 的不可变性而不需要太多代码更改。
我知道这个要求会导致无限循环,但是说在 5 级之后,我们可以停止创建新对象以保持不变性。
我们可以在这里使用反射吗?或者有没有其他办法?
【问题讨论】:
-
我们先创建类,然后创建对象。所以我会说
make a class immutable。
标签: java immutability