Skip to main content
ICT
Lesson A4 - Object Behavior
 
Main Previous Next
Title Page >  
Summary >  
Lesson A1 >  
Lesson A2 >  
Lesson A3 >  
Lesson A4 >  
Lesson A5 >  
Lesson A6 >  
Lesson A7 >  
Lesson A8 >  
Lesson A9 >  
Lesson A10 >  
Lesson A11 >  
Lesson A12 >  
Lesson A13 >  
Lesson A14 >  
Lesson A15 >  
Lesson A16 >  
Lesson A17 >  
Lesson A18 >  
Lesson A19 >  
Lesson A20 >  
Lesson A21 >  
Lesson A22 >  
Lesson AB23 >  
Lesson AB24 >  
Lesson AB25 >  
Lesson AB26 >  
Lesson AB27 >  
Lesson AB28 >  
Lesson AB29 >  
Lesson AB30 >  
Lesson AB31 >  
Lesson AB32 >  
Lesson AB33 >  
Vocabulary >  
 

E. Lifetime, Initialization, and Scope of Variables page 7 of 11

  1. Three categories of Java variables have been explained thus far in these lessons.

    • Instance variables
    • Local variables
    • Parameters

  2. The lifetime of a variable defines the portion of runtime during which the variable exists. When an object is constructed, all its instance variables are created. As long as any part of the program can access the object, it stays alive. A local variable is created when the program executes the statement that defines it. It stays alive until the block that encloses the variable definition is exited. When a method is called, its parameters are created. They stay alive until the method returns to the caller.

  3. The type of the variable determines its initial state. Instance variables are automatically initialized with a default value (0 for numbers, false for boolean, null for objects). Parameters are initialized with copies of the arguments. Local variables are not initialized by default so an initial value must be supplied. The compiler will generate an error if an attempt is made to use a local variable that may not have been initialized.

  4. Scope refers to the area of a program in which an identifier is valid and has meaning. Instance variables are usually declared private and have class scope. Class scope begins at the opening left brace ({) of the class definition and terminates at the closing brace (}). Class scope enables methods to directly access all of its instance variables. The scope of a local variable extends from the point of its definition to the end of the enclosing block. The scope of a parameter is the entire body of its method.

  5. An example of the scope of a variable is given in Code Sample 4-2. The class ScopeTest is created with three methods:


    Code Sample 4-2

  6. The results show the following about the scope of the variable test:

    • Within the scope of main, the value of test is 10, the value assigned within the main method.
    • Within the scope of printLocalTest, the value of test is 20, the value assigned within the printLocalTest method
    • Within the scope of printClassTest, the value of test is 30, the private value assigned within ScopeTest, because there is no value given to test within the printClassTest method
    • Within the scope of printParamTest, the value of test is 40, the value sent to the printParamTest method

 

Main Previous Next
Contact
 © ICT 2006, All Rights Reserved.