Java—如何在创建实例时停止编辑数据

Java—如何在创建实例时停止编辑数据,java,oop,Java,Oop,我想知道如何确保在创建了一个实例之后,不可能更改通过该实例的任何内容。因此,数据只能创建一次 我有一个带有accountNo和SortCode的get和set方法的类,我如何确保在主方法中调用此实例时,之后不能对其进行更改 谢谢将字段设置为最终 final int accountNo; 你需要一个策略来定义你的对象不可变 如何: 宣布成员为最终成员 不要提供二传 不要让子类重写方法 检查不可变RGB示例阅读不可变对象……如果不想更改它们,则不需要设置方法。另请参见Joshua Bloch的

我想知道如何确保在创建了一个实例之后,不可能更改通过该实例的任何内容。因此,数据只能创建一次

我有一个带有accountNo和SortCode的get和set方法的类,我如何确保在主方法中调用此实例时,之后不能对其进行更改


谢谢

将字段设置为最终

final int accountNo;

你需要一个策略来定义你的对象不可变

如何:

  • 宣布成员为最终成员

  • 不要提供二传

  • 不要让子类重写方法


检查不可变RGB示例

阅读不可变对象……如果不想更改它们,则不需要设置方法。另请参见Joshua Bloch的《有效Java》一书,第15项:最小化可变性,第39项:在需要时制作防御性副本。小结:没有变种,防止子类化,所有字段都是final和private,对传入或传出类的任何可变对象进行防御性复制。这很有帮助,但绝对不够。