Static

We use the static keyword when we want all the objects to share a single variable.

// jamesprogram.java
class jamesprogram {

	public static void main (String[] args){
		
		cat member1 = new cat("Emma", "Smith");
		cat member2 = new cat("Larry", "Oldman");
		cat member3 = new cat("Bob", "Timpy");
		
	}
}
//cat.java
public class cat {
	
	private String first;
	private String last;
	// every object SHARES the same variable,
	// if you change a static variable, you change
	// it for ALL objects
	private static int members = 0;
	
	// constructor
	public cat (String fn, String ln){
		first=fn;
		last=ln;
		members++;
		System.out.printf("Constructor for %s %s, members in the club: %d\n", first, last, members);
	}
}

In this program we make 3 new objects that all share the static int variable members. Which counts upwards each time it is called. This outputs:

Constructor for Emma Smith, members in the club: 1
Constructor for Larry Oldman, members in the club: 2
Constructor for Bob Timpy, members in the club: 3

Leave a Reply