🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
#### [不变性](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(); 这样,如果出于性能原因禁用断言,就不会产生开销。