Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: Java
Expertise: Intermediate
Dec 4, 2000



Building the Right Environment to Support AI, Machine Learning and Deep Learning

Making Global Objects

Let's take an example: a program has a PrintSpooler class. This class maintains a queue for printer requests and serializes them. The program cannot contain multiple PrintSpooler Objects because this can create unexpected printer output, thus defeating the purpose of having a Spooler class. Global variables are not permitted in Java, but in these types of situations they are needed. A way around this is to use the same object throughout the program. Code can be classed in such a way that it affords the facility of using it like a global object. The following code shows how to do this:
class PrintSpooler {
	static PrintSpooler pr;
	private PrintSpooler(){}; //Don't let anyone create objects directly
	public static PrintSpooler get() //Provide access to the shared 
PrintSpooler object
		if(pr == null)
			pr = new PrintSpooler();
		return pr;
	public void print(String str){/*Print the string*/};
	//Other member functions

Making the constructor private disallows direct object creation. Static function
Nitin Kumar
Thanks for your registration, follow us on our social networks to keep up-to-date