/*** * Point * * an (x,y) point in the plane. * ***/ class JimsPoint { // ------ static (class) variables and methods ---------------------- // There is only one of these for the whole class. private static int numberOfPoints = 0; // This method can be invoked on the class itself, // i.e. JimsPoint.howMany() // It can only refer to static variables. static int howMany(){ return numberOfPoints; } // ------ instance variables and methods ------------------- // On the other hand, these exist within instances creates with "new". private double x; private double y; // Note that instance methods can refer to static variables. JimsPoint(double xValue, double yValue){ x = xValue; y = yValue; numberOfPoints++; } JimsPoint(){ x = 0.0; y = 0.0; numberOfPoints++; } double getX(){ return x; } double getY(){ return y; } String asString(){ return "("+x+","+y+")"; } }