One of the things left out of Java that we had in C++ wasglobal variables. Is there a way to use global variables in Java?
Even though Java requires that all variables and functions must bedeclared within the scope of a class, it is possible to have globalvariables. Think of System.in and System.out for example. They are globalvariables accessible to all parts of an application. You canimplement global variables in a Java application by declaring them asstatic members of a class. For an application it will sometimes makesense to declare an ApplicationGlobals class that only containspublic static variables and methods intended for use throughout the entireapplication.
More often than not, however, the aggregation of globalsinto a single class can be avoided. As your application evolves, youwill often find that global variables are a source of problems whenadding new functionality. It is often possible to provide globallyaccessible instances of objects through default factory methods, suchas java.awt.Toolkit.getDefaultToolkit(). It can also be a good ideato use synchronized set and get methods to access the global data inorder to avoid potential conflicts between threads modifying publicvariables.