Java 什么是监护人代码?
我的讲师开始在我们的阅读材料中提到一种叫做监护人密码的东西。如果有帮助,这是一个Java初学者模块。这里有一些参考文献 由于没有变种人,因此也就没有变种人监护代码,监护代码作为对validateDate…private helper方法的调用被强制进入构造函数。构造函数通常会调用mutators来检查收到的初始值,因为构造函数参数在分配各自的实例变量之前是有效的 任何帮助都将不胜感激Java 什么是监护人代码?,java,definition,Java,Definition,我的讲师开始在我们的阅读材料中提到一种叫做监护人密码的东西。如果有帮助,这是一个Java初学者模块。这里有一些参考文献 由于没有变种人,因此也就没有变种人监护代码,监护代码作为对validateDate…private helper方法的调用被强制进入构造函数。构造函数通常会调用mutators来检查收到的初始值,因为构造函数参数在分配各自的实例变量之前是有效的 任何帮助都将不胜感激 谢谢 你的讲师可能指的是守卫密码。这增加了一个额外的防御性验证层,以确保您接收或发送的数据在任何方面都不会无效。
谢谢 你的讲师可能指的是守卫密码。这增加了一个额外的防御性验证层,以确保您接收或发送的数据在任何方面都不会无效。通常,编写保护代码是为了确保所需的值不为null以防止NullPointerException,或者在预期范围内——尽管这是关于验证的更广泛讨论
例如,如果我正在编写一个名为boolean ValidateDate的方法,我会编写一段保护代码:
public boolean validateDate(Date date) {
if(null == date) {
throw new IllegalArgumentException("Date can't be null");
}
// other logic to follow
}
文本指的是提供参数验证的代码,用于防止对象进入错误状态 例如,如果要使用名为serialNumber的字符串属性构建一个长度必须为7到9个字符的类,则应添加如下设置器:
void setSerialNumber(String sn) {
if (sn == null || sn.length() < 7 || sn.length() > 9) {
throw new IllegalArgumentException("sn");
}
serialNumber = sn;
}
我只能猜测它们是指验证检查。请注意,你的讲师大概是来帮助你的,所以请他/她澄清是一个好方法。我要写的一段保护代码是:但你不会从构造函数调用它,对吗?没有使其成为最终的或静态的@安德特特纳:不,我不会特别从我的构造函数调用它。这更像是一个保护代码的通用示例;一个人可以采用任何他们希望在构造函数中使用保护代码的风格或方法。
MyObject(String sn) {
if (sn == null || sn.length() < 7 || sn.length() > 9) {
throw new IllegalArgumentException("sn");
}
serialNumber = sn;
}