public static void main(String[] args)
{
int x=5,y=6;
System.out.println("x="+x+":y="+y);
int num=max(x,y);
System.out.println(x);
}
public static int max(int x,int y)
{
if(x<y)
x=y;
return x;
}
听毕老师讲栈内存的结构,我知道x=5;他的过程是先去栈内存中找有没有5这个值,如果有,他就取来用,这也是引用.而函数max中的参数int x取了5的值,并在函数里改变了其值x=6;
为什么在主函数里再次输入时,x还是等于5;
假设:public age=10
堆内存中的引用Person p=new Person();
Person s=p;
s.age=20的话,s.age的值也相应改变了.而栈内存中的引用.为什么不会改变?
|