如果抽象超类有一个只定义初始字段参数的构造函数,并且其中一个子类在其初始化中不使用其中一个字段参数,我可以简单地在 super() 中未使用的字段参数所在的位置放置一个“null”吗?称呼?
为了更清楚地说明这一点,这里有一个例子:
public abstract class SuperClass {
protected int xPos;
protected int yPos;
protected int zPos;
public SuperClass(int xPos, int yPos, int zPos) {
this.xPos = xPos;
this.yPos = yPos;
this.zPos = zPos;
}
... getters & setters, etc.
}
public class SubClass extends SuperClass {
public SubClass(int xPos, int yPos) {
super(xPos, yPos, null);
}
}
这可以接受吗?这是良好的编码习惯吗?还是让多个构造函数接受不同类型的参数更好?