The complete constructor is seen below.
import java.io.* ; class Car { // instance variables int startMiles; // Stating odometer reading int endMiles; // Ending odometer reading double gallons; // Gallons of gas used // constructor Car( int first, int last, double gals ) { startMiles = first; endMiles = last; gallons = gals; } // methods double calculateMPG() { return _____________ ; } } class MilesPerGallon { public static void main( String[] args ) { Car car = new Car( 32456, 32810, 10.6 ); System.out.println( "Miles per gallon is " + car.calculateMPG() ); } }
Constructors can get complicated; but for most programs all you need to do is copy values from the parameters to the instance variables. You might wonder why you need to do this. Why not just leave the data in the parameters? There are two reasons:
calculateMPG()
cannot see the parameters of the
constructor.Think of a parameter as a scrap of paper containing information handed to the constructor. The constructor has to copy the information to someplace permanent that can be seen by the other methods.