public abstract class TreatmentPlant { protected Town town; protected double x; // Fraction pollutants removed private int ID; private static int nextID=0; public static double MAX_CONCENTRATION= 20; // Mg/L public TreatmentPlant() { town= null; x= 0; ID= nextID++; } public TreatmentPlant(Town t, double x) { town= t; this.x= x; ID= nextID++; } public abstract double getCost(); public abstract double getMaxRemoved(); public abstract double getArea(); public final int getID() { return ID; } }