提问人:Ernestorumo 提问时间:2/22/2022 更新时间:2/22/2022 访问量:133
Java 上的可变不可变类模式取决于包
Mutable-immutable class pattern on Java depending on package
答:
2赞
Aasmund Eldhuset
2/22/2022
#1
只需避免在所有字段和修改字段的方法上使用任何访问修饰符,例如 或。没有访问修饰符的字段/方法是 package-private,这意味着它只能由驻留在同一个包中的代码看到。String secret;
void setSecret(String secret) { ... }
然而,正如@JoachimSauer和@Darkman所指出的,这样的类实际上并不是不可变的。不可变意味着实例在构建后永远不会更改(无论由谁)。该类将被简单地封装:只有代码库的有限部分(定义该类的包)可以修改该类的实例。
评论
ArrayList
StringBuilder
final
String
final