class Person
{
private int age;
public void setAge(int a)
{
int age = a;
show();
}
public int getAge()
{
return age;
}
void show()
{
System.out.println(age);
}
}
class PersonDemo
{
public static void main(String[] args)
{
Person p = new Person();
p.setAge(2);
}
}
打印输出结果为默认的0
在setAge()中,把int age = a 改为 age = a;则输出为2,请问这是为什么?int age = 0和 age = 0 有什么区别 作者: 魏-玉-彪 时间: 2013-11-1 17:35
class Person
{
private int age;
public void setAge(int a)
{
int age = a; /* 这涉及到变量作用域的问题,如果这里写上int 等于在本方法内重新定义了一个