public class Test {
public static void main(String []args){
Test test=new Test();
int sumNum=test.doubleSum(10,20);
System.out.println("两数之和为"+sumNum);
}
public int doubleSum(int num1,int num2){
int sum=num1+num2;
return sum;
}
}
执行上述代码得到结果为30.
Test test=new Test(); int sumNum=test.doubleSum(10,20); System.out.println("两数之和为"+sumNum);
这一段代码在main栈里面执行,Test test=new Test();执行之后其内存结构如图,会在堆中创建一个对象。
而当执行int sumNum=test.doubleSum(10,20);时候,栈中会产生一个独立的栈用于运行函数doubleSum。结构如下:
而当在栈中运行到return时,独立的栈运算结束,独立的空间栈被释放,将最终得到的值根据原来保留的地址传回main栈中,并且将值读给sumNum。