java方法返回值存放在内存什么地方
public class FunctionDemo4 {
public static void main(String[] args) {
int sum = add(3,5);
print(sum);
}
static int add(int a,int b){
int c = 0;
c = a + b;
return c;
}
static void print(int result){
System.out.println(result);
}
}
麻烦高手帮菜鸟解决下问题,根据内存图,add方法里面a,b,c三个参数都将被压入栈内存中,a,b,c三个参数都是局部变量,那么根据变量的生命周期,add执行完后,应该就把a,b,c这三个变量释放掉了,那么int sum = add(3,5);中的sum是如何取到add的返回值的呢,因为返回值c是局部变量,在方法执行完后,即被释放掉了,sum要是取值得话,从哪里取值,add方法又把返回值存放在内存中哪里了呢?