LDN:
例えば、このようなコンストラクタ:
public class Car extends Vehicle {
public Car(Car a){
super(a.getName()); //what if 'a' is null
}
}
私は()を呼び出す前に、スーパーパラメータの状態を確認することはできません。
Illya Kysil:
私は、この場合にはファクトリメソッドを使用することをお勧めします:
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());
}
}