Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: Java
Expertise: Intermediate
Mar 27, 2000

Getting Around Global Variables

In many programming languages such as C or Pascal, most users have come across global variables. Like this C example:
 

   int GlobVar = 0;	// Global variable
   void f(int x)		// Function to change variable.
   {
      GlobVar = x;
   }
Java does not have such variables. However, there is a simple way to get around this, wrap the code in class declarations—like so:
 
   public class GlobalVariables {
      public static int v = 0;
      public static void f(int x) {v = x;}
   }
[v] may be refered to with with: [GlobalVariables.v]

Note that the [static] keyword is used in declaring these class members so that they do not reference or operate on specific class object instances. [final] may be used in declaration to "finalize" a value, i.e., make it a constant. Related constants may be grouped like so:
 
public class body {
	public static final long text = 0xffffff;	// Fixed [final] used
	public static final long bgcolor = 0;	// Fixed [final] used
	public static long link = 0xff0000;		// Changeble: [final] not used
	public static long vlink = 00ff00;		// Changeble: [final] not used
}

public class keyboard {
	public static final String layout = "US";	// Fixed [final] used
	public static final String keys = 101;	// Fixed [final] used
}
Individual constants may be refered to with expressions like these:
 
	int k = keyboard.keys;
	long linkcolor = body.link;

Note if you're using a class simply for packaging purposes (like this), it really doesn't make sense to create a new instance of the class. So, you can declare a private constructor:
 
	private Body() {}
A constructor executes when an instance of the class is created, but not with a private constructor.
Jeremy Chen
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date