ThinkSSL🔒 一键申购 5分钟快速签发 30天无理由退款 购买更放心 广告
#### [不变性](https://lingcoder.gitee.io/onjava8/#/book/16-Validating-Your-Code?id=%e4%b8%8d%e5%8f%98%e6%80%a7) 不变性保证了必须在方法调用之间维护的对象的状态。但是,它并不会阻止方法在执行过程中暂时偏离这些保证,它只是在说对象的状态信息应该总是遵守状态规则: **1**. 在进入该方法时。 **2**. 在离开方法之前。 此外,不变性是构造后对于对象状态的保证。 根据这个描述,一个有效的不变性被定义为一个方法,可能被命名为**invariant()**,它在构造之后以及每个方法的开始和结束时调用。方法以如下方式调用: assert invariant(); 这样,如果出于性能原因禁用断言,就不会产生开销。