本帖最后由 刘 佳 于 2012-9-19 13:15 编辑
第五天视频封装那一讲,有个地方迷惑。这段代码输出是age=0. 我知道age有个默认值是0,但是赋值是-40,虽然不符合条件,但为什么输出是0呢?
还有个小问题,setAge为什么返回值类型是void呢?这个方法不应该返回符合条件的age吗?
class Person
{
private int age;
public void setAge(int a)
{
if(a>0 && a<130)
age = a;
else
System.out.println("feifa age");
}
public int getAge()
{
return age;
}
private void speak()
{
System.out.println("age="+age);
}
}
class PersonDemo
{
public static void main(String[] args)
{
Person p = new Person();
p.setAge(-40);
p.speak();
}
}
|