编写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()方法中输出变量age和name");
System.out.println("年龄是:" + age); //输出成员变量age
System.out.println("姓名是:" + name); //输出局部变量name
}
public static void main(String[] args) { // 定义主方法
map(); // 调用map()方法
System.out.println("main()方法中输出变量age和name");
System.out.println("年龄是:" + age); //输出成员变量age
System.out.println("姓名是:" + name); // 错误代码,局部变量name不可用于其他方法中
}
}