В настоящее время я изучаю наследование на Java, и у меня возникают проблемы с его пониманием, однако одна из основных вещей, которые я не могу понять, - это почему необходимо вызвать конструктор суперкласса в следующем примере и как это сделать ? Этот пример является правильным из учебника Oracle по методу super(...)
.Зачем нужно вызывать конструктор суперкласса?
public MountainBike(int startHeight,
int startCadence,
int startSpeed,
int startGear) {
super(startCadence, startSpeed, startGear);
seatHeight = startHeight;
}
То, что я думал изначально, что super(startCadence, startSpeed, startGear);
бы сократить код для параметров в моем текущем конструкторе и было бы просто принимать значения, которые были переданы в в родительском классе и добавить его к классу ребенка (например, это):
public MountainBike(int startHeight) {
...
}
однако, как я уже знаю, что это неправильно, и в очередной раз подводит меня к вопросу о том, что super(startCadence, startSpeed, startGear);
действительно делает. Я был бы очень признателен за некоторые объяснения, поэтому новичок, как и я, мог бы понять, а не дать мне определение.
Не похоже на дубликат для меня – Cruncher