Java—如何在创建实例时停止编辑数据
我想知道如何确保在创建了一个实例之后,不可能更改通过该实例的任何内容。因此,数据只能创建一次 我有一个带有accountNo和SortCode的get和set方法的类,我如何确保在主方法中调用此实例时,之后不能对其进行更改Java—如何在创建实例时停止编辑数据,java,oop,Java,Oop,我想知道如何确保在创建了一个实例之后,不可能更改通过该实例的任何内容。因此,数据只能创建一次 我有一个带有accountNo和SortCode的get和set方法的类,我如何确保在主方法中调用此实例时,之后不能对其进行更改 谢谢将字段设置为最终 final int accountNo; 你需要一个策略来定义你的对象不可变 如何: 宣布成员为最终成员 不要提供二传 不要让子类重写方法 检查不可变RGB示例阅读不可变对象……如果不想更改它们,则不需要设置方法。另请参见Joshua Bloch的
谢谢将字段设置为最终
final int accountNo;
你需要一个策略来定义你的对象不可变 如何:
- 宣布成员为最终成员
- 不要提供二传
- 不要让子类重写方法
检查不可变RGB示例阅读不可变对象……如果不想更改它们,则不需要设置方法。另请参见Joshua Bloch的《有效Java》一书,第15项:最小化可变性,第39项:在需要时制作防御性副本。小结:没有变种,防止子类化,所有字段都是final和private,对传入或传出类的任何可变对象进行防御性复制。这很有帮助,但绝对不够。