例如,这样的构造函数:
public class Car extends Vehicle {
public Car(Car a){
super(a.getName()); //what if 'a' is null
}
}
在调用 super() 之前我无法检查参数的条件。
在这种情况下,我建议使用工厂方法:
public class Car extends Vehicle {
private Car(String name){
super(name);
}
public static Car of(Car a) {
Objects.requireNonNull(a, "a is required");
return new Car(a.getName());
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)