标题: 栈空间和堆空间 [打印本页] 作者: 郑强强 时间: 2012-4-7 18:57 标题: 栈空间和堆空间 class Person
{
private int age;
public void setAge(int a)
{
if(age>0&&a<130)
age=a;
else
System.out.println("fei fa age");
}
class PersonDemo
{
public static void main(String[] args)
{
Person p=new Person();
//p.age=20;
p.setAge(20);
p.speak();
Person p1=new Person();
//p.age=20;
p1.setAge(20);
p1.speak();
}
}
对于这个程序,a赋值完成以后,空间会立即释放吗?那么p1是在a释空间以后重新创建一个栈内存空间吗?对于栈内存和堆的内存空间,这个程序
的具体释放顺序是什么呢?? 作者: 宋蕈 时间: 2012-4-7 19:18
class Person
{
private int age;
public void setAge(int a)
{
if(age>0&&a<130) // 问题1,这里setAge方法有点问题,age属性并没有得到赋值
age=a; // 其次,你的a赋值完成之后,当然是等方法运行完才被释放在栈里的空间
else
System.out.println("fei fa age");
}