169,898 views
5 votes
5 votes
Consider the following class in Java:

public class MountainBike extends Bicycle {
public int seatHeight;
public MountainBike(int startHeight,
int startCadence,
int startSpeed,
int startGear) {
super(startCadence, startSpeed, startGear);
seatHeight = startHeight;
}

public void setHeight(int newValue) {
seatHeight = newValue;
}
}
What is this trying to accomplish?

super(startCadence, startSpeed, startGear);

a. Four fields of the MountainBike class are defined: super, startCadence, startSpeed and startGear.
b. The constructor for the parent class is called.
c. A method of the MountainBike class named super is defined.
d. Three fields are defined for the MountainBike class as intances of the class named super.

User LaborEtArs
by
2.9k points

1 Answer

12 votes
12 votes

Answer:

b. The constructor for the parent class is called.

Step-by-step explanation:

In this case this specific piece of code is calling the constructor for the parent class. Since a MountainBike object is being created. This creation uses the MountainBike class constructor but since this is a subclass of the Bicycle class, the super() method is calling the parent class constructor and passing the variables startCadence, startSpeed, startGear to that constructor. The Bicycle constructor is the one being called by super() and it will handle what to do with the variables inputs being passed.

User Gillyb
by
2.6k points