class Student
{
int age;//这是成员变量
public void show()
{
int age;//这是局部变量
System.out.println(age);
}
}
class StudentTest
{
public static void main(String[] args)
{
//创建对象
Student s = new Student();
s.show();
}
}
代码运行会有错吗?当然会错,报的是尚未初始化的错误。
稍微解析一下吧,当show()方法打印输出的时候,使用的是局部变量age,而不是成员age,遵循的是就近原则,局部变量是没有初始化值的。
当你把那个局部变量的age代码注释掉,再运行就不会报错。这时候使用的是成员age,成员变量是有初始化值的。
|
|