// Fig. 4.10: Scoping.java
// A scoping example
import java.awt.Graphics;
import java.applet.Applet;
public class Scoping extends Applet {
int x = 1; // instance variable
public void paint( Graphics g )
{
g.drawString( "See command line for output", 25, 25 );
int x = 5; // local variable to paint
System.out.println( "local x in paint is " + x );
a(); // a has automatic local x
b(); // b uses instance variable x
a(); // a reinitializes automatic local x
b(); // instance variable x retains its value
System.out.println( "\nlocal x in paint is " + x );
}
void a()
{
int x = 25; // initialized each time a is called
System.out.println( "\nlocal x in a is " + x +
" after entering a" );
++x;
System.out.println( "local x in a is " + x +
" before exiting a" );
}
void b()
{
System.out.println( "\ninstance variable x is " + x +
" on entering b" );
x *= 10;
System.out.println( "instance variable x is " + x +
" on exiting b" );
}
}