// file: counter.java // author: Robert Keller // purpose: Very simple mutable Java class class counter { private int value; // value of the count private int mx; // maximum value static int number = 0; // number of counters constructed counter(int initial) // constructor { value = initial; mx = initial; number++; } int up() { value++; if( value > mx ) mx = value; return value; } int down() { value--; return value; } int max() { return mx; } static public void main(String[] arg) { counter c, d, f; // declare counters c = new counter(0); d = new counter(0); f = d; c.up(); c.down(); System.out.println(c.max()); d.up(); d.up(); d.down(); d.down(); System.out.println(d.max()); System.out.println(f.max()); System.out.println(counter.number + " counters created"); } }