我以某种方式认为这样做是个坏主意。这样做很常见吗?我不确定它的用法,因为我从来没有在实践中看到过它,反正作为一个真实世界的例子。

public abstract class Car{
    protected int speed;

    public Car(int speed){
        this.speed = speed;
    }
}

public class Ambulance extends Car{
    public Ambulance(int speed){
        super(speed);
    }
}

最佳答案

标准做法 使用父类(super class)构造函数。它允许代码重用,当对变量的某些验证可能已在父类(super class)构造函数中完成时。

例如,检查 Apache Commons Collection 中的 this 代码。

使用时,super(..) 必须是子类构造函数中的第一条语句。

关于java - 你应该使用父类(super class)构造函数来设置变量吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27535380/

10-14 14:45