public class SphereEquiDistant extends EquidistantShape {

  public SphereEquiDistant() {
    setRadius(1.0);
  } // end default constructor

  public SphereEquiDistant(double initialRadius) {
    setRadius(initialRadius);
  } // end constructor

  // Implementation of abstract method
  public void displayStatistics() {
    System.out.println("\nRadius = " + radius()
               + "\nDiameter = " + diameter()
               + "\nCircumference = " + circumference()
               + "\nArea = " + area()
               + "\nVolume = " + volume());
  }  // end displayStatistics
  public double diameter() {
    return 2.0 * radius();
  } // end diameter

  public double circumference() {
    return Math.PI * diameter();
  } // end circumference

  public double area() {
    double theRadius = radius();
    return 4.0 * Math.PI * theRadius * theRadius;
  } // end area

  public double volume() {
    return (4.0*Math.PI * Math.pow(radius(), 3.0)) / 3.0;
  } // end volume

} // end Sphere
