首先执行main方法,main方法进栈,在main方法中开辟三个空间,args、num1(把5.6赋值给num1)、num2(0.9赋给num2),然后调用sub方法,sub方法进栈,在sub中声明num1、num2,由于在main方法中定义了num1和num2,所以把值传给sub方法中的num1和num2(这是不同的两个变量,只是名字一样),再声明result,把num1 -num2的值赋给result,然后输出num1 + " - " + num2 + " = " + result,最后sub方法出栈,sub里面的三个局部变量也释放了,最后main方法也出栈。
总结:
1、 方法中声明的变量为局部变量,其中形参也属于局部变量
2、 方法执行完毕,该方法出栈,同时该方法的局部变量也随之释放空间
3、 各自方法中声明的局部变量可以同名,但是没有任何影响,各自都是独立的