提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、传值机制是什么?
- 二、代码演示
前言
方法中最重要的一个部分就是方法的参数,参数属于局部变量,当对象调用方法时,参数被分配内存空间,并要求调用者向参数传递值,即方法被调用时参数变量必须有具体的值。
。
一、传值机制是什么?
在Java中,方法的所有参数都是“传值”的,也就是说方法中参数变量的值是调用者指定的值的副本。例如,如果向方法的int型参数x传递一个int 值,那么参数x得到的值是传递的值的副本。习惯上称方法的参数为形参,称向其传值的变量或常量为实参。在实参向形参传值之后,程序如果改变形参的值,不会影响实参的值,同样,改变实参的值(假如实参是变量) 也不会影响形参的值。实参和形参的关系类似于人们生活中的“原件”和“复印件”的关系,原件被复印之后,改变“复印件”不影响“原件”,改变“原件”也不影响“复印件”。
二、代码演示
代码如下(示例):
public static void main(String[] args){
int a=10:
int b=20;
AA obg=new AA();
boj swap(a,b);
System.out.println("a,b使用方法后:"+a+"\n"+b);//a=10 b=20
class AA{
public void swap(int a,int b){
System.out.println("a,b交换之前:"+a+"\n"+b);//a=10 b=20
int tem=a;
a=b;
b=tem;
System.out.println("a,b交换之后:"+a+"\n"+b);//a=20 b=10
}
代码如下(示例):
总结
实际上程序在使用方法时开辟了一个新的栈,这个栈有a,b的值和之前a,b的值相同,但是两个处在不同的栈内,对第二个方法里面的a,b值改变不影响原来a,b的值。