public class StaticCounter {
    public static void main (String [] args) {
	System.out.println(CountingObject.getCount() + " objects created");

	CountingObject co = new CountingObject(5);
	System.out.println(CountingObject.getCount() + " objects created");

	CountingObject co1 = new CountingObject(3);
	System.out.println(co1.getCount() + " objects created");

	co1 = co;
	System.out.println(co1.getCount() + " objects created");

    }
    
}

class CountingObject {
    public int value;
    private static int howmany; // private var: not accessible from outside

    public CountingObject(int val) {
	value = val;
	++howmany;
    }

    // a static method:
    public static int getCount() {
	return howmany;
    }
    // what happens if getCount is not static?
}

This is an example from CSci 1211 course.

The views and opinions expressed in this page are strictly those of the page author. The contents of this page have not been reviewed or approved by the University of Minnesota.