测试成员变量与局部变量的有效范围

编写Java程序,声明成员变量age与局部变量name,比较这两个变量的区别,并添加相应的注释。

  运行结果:

Eclipse中运行本实例,结果如图1所示。

  1  Variable类的运行结果

从图1中可以看出,在第20行的代码中,name变量无法解析,这是因为name变量为局部变量,不可用于其他方法中,下面我们将第20行代码

System.out.println("姓名是:"+name);

注释掉后,再次运行该类,将显示如图2所示的效果。

  2  修改后的Variable类的运行结果

  解题关键:

l         成员变量在整个类体中有效。

l         局部变量只在定义它的方法中有效。

  答案:

编写Variable类,在该类中定义一个成员变量age和一个局部变量name,该局部变量被定义在map()方法中,在main()方法中输出成员变量age和局部变量name,具体代码如下:

public class Variable {

 

      /**

       * 测试成员变量与局部变量的有效范围

       */

      static int age = 20;                                                 // 声明成员变量

 

      public static void map() {                                        //定义map()方法

            age = 30;

            String name = "lili";                                            // 声明局部变量

            System.out.println("map()方法中输出变量agename");

            System.out.println("年龄是:" + age);                 //输出成员变量age

            System.out.println("姓名是:" + name);               //输出局部变量name

      }

      public static void main(String[] args) {                     // 定义主方法

            map();                                                              // 调用map()方法

            System.out.println("main()方法中输出变量agename");

            System.out.println("年龄是:" + age);                 //输出成员变量age

            System.out.println("姓名是:" + name);              // 错误代码,局部变量name不可用于其他方法中

      }

}