例如,像这样的构造函数:
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());
}
}
关于java - 在调用父类(super class)构造函数之前验证构造函数的参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53565210/