// Circle.java

public final class Circle {

   // instance variables
   final Point2D center;
   final double radius;

   // constructors
   Circle (final Point2D c, final double r) {
      center=c; radius=r;
   }
   
   Circle (final Point2D c)     { this (c, 1.0); }
   Circle (final double r)      { this (new Point2D (), r); }
   Circle ()                    { this (1.0); }

   // methods
   double circumference () {
      return 2.0*Math.PI*radius;
   }

   double area () {
      return Math.PI*radius*radius;
   }

   // NB. "public" is necessary.
   @java.lang.Override // The annotation is recommended
   public String toString () {
      return String.format ("circle with r=%.2f at %s", radius, center);
   }
}