首发博客地址
https://blog.zysicyj.top/
一、声明方法约束
RentalStation的name不能为空
rentCar(),customer不能为空,startDate不能为空且必须在未来,durationInDays最少为1天
1. 交叉参数约束
该注解通过自动义确保乘客携带不超过2件行李
2. 返回值约束
任何新创建的对象必须满足约束
传回的客户清单不得为并且必须至少包含元素
返回的客户清单不得包含任何对象
3. 级联验证
验证checkCar()方法的参数时,还将Car评估对所传递对象的属性的约束。同样,在验证构造函数的返回值时@NotNull,Garage将检查对name字段的约束 Garage。
通常,级联验证对可执行文件的工作方式与对JavaBeans属性完全相同。
特别是,null在级联验证期间会忽略值,并且递归执行级联验证
4. 继承层次结构中的方法约束
需要注意的规则
方法的调用者必须满足的前提条件不能在子类型中得到加强
保证方法调用者的后置条件不会在子类型中减弱
子类非法的方法参数约束
次结构的并行类型中的非法方法参数约束
父类型和子类型方法的返回值约束
二、验证方法约束
再来一辆车
获取工具
1. 校验普通方法参数
2. 测试普通方法返回值
3. 测试构造方法参数
4. 测试构造方法的返回值
三、内置方法约束
领取专属 10元无门槛券
私享最新 技术干货