// Try This 7-1 // // Build a subclass of Vehicle for trucks. class Vehicle { private int passengers; // number of passengers private int fuelcap; // fuel capacity in gallons private int mpg; // fuel consumption in miles per gallon // This is a constructor for Vehicle. Vehicle(int p, int f, int m) { passengers = p; fuelcap = f; mpg = m; } // Return the range. int range() { return mpg * fuelcap; } // Compute fuel needed for a given distance. double fuelneeded(int miles) { return (double) miles / mpg; } // Access methods for instance variables. int getPassengers() { return passengers; } void setPassengers(int p) { passengers = p; } int getFuelcap() { return fuelcap; } void setFuelcap(int f) { fuelcap = f; } int getMpg() { return mpg; } void setMpg(int m) { mpg = m; } } // Extend Vehicle to create a Truck specialization. class Truck extends Vehicle { private int cargocap; // cargo capacity in pounds // This is a constructor for Truck. Truck(int p, int f, int m, int c) { /* Initialize Vehicle members using Vehicle's constructor. */ super(p, f, m); cargocap = c; } // Accessor methods for cargocap. int getCargo() { return cargocap; } void putCargo(int c) { cargocap = c; } } class TruckDemo { public static void main(String args[]) { // construct some trucks Truck semi = new Truck(2, 200, 7, 44000); Truck pickup = new Truck(3, 28, 15, 2000); double gallons; int dist = 252; gallons = semi.fuelneeded(dist); System.out.println("Semi can carry " + semi.getCargo() + " pounds."); System.out.println("To go " + dist + " miles semi needs " + gallons + " gallons of fuel.\n"); gallons = pickup.fuelneeded(dist); System.out.println("Pickup can carry " + pickup.getCargo() + " pounds."); System.out.println("To go " + dist + " miles pickup needs " + gallons + " gallons of fuel."); } }