<< Chapter < Page | Chapter >> Page > |
The rules for legal identifiers are shown in Figure 4 .
Figure 4 . Rules for legal identifiers. |
---|
|
What is the scope of a Java variable?
The scope of a Java variable is defined by the block of code within which the variable is accessible.
(Briefly, a block of code consists of none, one, or more statements enclosed by a pair of matching curly brackets.)
The scope also determines when the variable is created (memory set aside to contain the data stored in the variable) and when it possibly becomes a candidate for destruction (memory returned to the operating system for recycling and re-use) .
Scope categories
The scope of a variable places it in one of the four categories shown in Figure 5 .
Figure 5 . Scope categories. |
---|
|
Member variable
A member variable is a member of a class (class variable) or a member of an object instantiated from that class (instance variable) . It must be declared within a class, but not within the body of a method or constructor ofthe class.
Local variable
A local variable is a variable declared within the body of a method or constructor or within a block of code contained within the body of a method orconstructor.
Method parameters
Method parameters are the formal arguments of a method. Method parameters are used to pass values into and out of methods. The scope of a method parameter isthe entire method for which it is a parameter.
Exception handler parameters
Exception handler parameters are arguments to exception handlers. Exception handlers will be discussed in a future module.
Illustrating different types of variables in Java
The Java program shown in Listing 8 illustrates
An illustration of exception handler parameters will be deferred until exception handlers are discussed in a future module.
Listing 8 . The program named member1. |
---|
/*File member1.java Copyright 1997, R.G.Baldwin
Illustrates class variables, instancevariables, local variables, and method parameters.
Output from this program is:Class variable is 5
Instance variable is 6Method parameter is 7
Local variable is 8**********************************************************/
class member1 { //define the controlling class//declare and initialize class variable
static int classVariable = 5;//declare and initialize instance variable
int instanceVariable = 6;public static void main(String[] args){ //main methodSystem.out.println("Class variable is "
+ classVariable);//Instantiate an object of the class to allow for
// access to instance variable and method.member1 obj = new member1();
System.out.println("Instance variable is "+ obj.instanceVariable);
obj.myMethod(7); //call the method//declare and intitialize a local variable
int localVariable = 8;System.out.println("Local variable is "
+ localVariable);}//end main
void myMethod(int methodParameter){System.out.println("Method parameter is "
+ methodParameter);}//end myMethod
}//End member1 class. |
Declaration of local variables
In Java, local variables are declared within the body of a method or within a block of code contained within the body of a method.
Scope of local variables
The scope of a local variable extends from the point at which it is declared to the end of the block of code in which it is declared.
What is a "block" of code?
A block of code is defined by enclosing it within curly brackets as in { ... }.
Therefore, the scope of a local variable can be the entire method, or can reduced by declaring it within a block of code within the method.
Java treats the scope of a variable declared within the initialization clause of a for statement to be limited to the total extent of the for statement.
A future module will explain what is meant by a for statement or a for loop.
Initializing primitive local variables
Local variables of primitive types can be initialized when they are declared using statements such the one shown in Listing 9 .
Listing 9 . Initialization of variables. |
---|
int MyVar, UrVar = 6, HisVar; |
Initializing member variables
Member variables can also be initialized when they are declared.
In both cases, the type of the value used to initialize the variable must match the type of the variable.
Initializing method parameters and exception handler parameters
Method parameters and exception handler parameters are initialized by the values passed to the method or exception handler by the calling program.
I encourage you to copy the code from Listing 1 , Listing 6 , and Listing 8 . Compile the code and execute it. Experiment with the code,making changes, and observing the results of your changes. Make certain that you can explain why your changes behave as they do.
This section contains a variety of miscellaneous information.
Financial : Although the Connexions site makes it possible for you to download a PDF file for thismodule at no charge, and also makes it possible for you to purchase a pre-printed version of the PDF file, you should beaware that some of the HTML elements in this module may not translate well into PDF.
I also want you to know that, I receive no financial compensation from the Connexions website even if you purchase the PDF version of the module.
In the past, unknown individuals have copied my modules from cnx.org, converted them to Kindle books, and placed them for sale on Amazon.com showing me as the author. Ineither receive compensation for those sales nor do I know who does receive compensation. If you purchase such a book, please beaware that it is a copy of a module that is freely available on cnx.org and that it was made and published withoutmy prior knowledge.
Affiliation : I am a professor of Computer Information Technology at Austin Community College in Austin, TX.
-end-
Notification Switch
Would you like to follow the 'Object-oriented programming (oop) with java' conversation and receive update notifications?