java中方法传参形式

2023-02-21,,

成员方法传参形式

1.基本数据类型:传递的是值

public class Object03 {
public static void main(String[] args) {
AA aa = new AA();
int a = 10,b= 20;
System.out.println("main中a:"+a+",b:"+b);
aa.swap(a, b);
System.out.println("main中调用swap后a:"+a+",b:"+b); } }
class AA {
public void swap(int a,int b) {
System.out.println("swap中a:"+a+",b:"+b);
int tmp = a;
a = b;
b = tmp;
System.out.println("swap中交换后:"+a+",b:"+b);
}
}

jvm内存图,如下图所示:

运行结果:

2.引用数据类型:传递的是地址

public class Obejct04 {
public static void main(String[] args) {
BB bb = new BB();
int[] arr = {0,2,3};
bb.AlertArr(arr); for(int i=0;i<arr.length;i++) {
System.out.print(arr[i]+" ");
}
System.out.println();
}
} class BB {
public void AlertArr(int[] arr) {
arr[0] = 200; for(int i = 0;i<arr.length;i++) {
System.out.print(arr[i]+" ");
}
System.out.println();
}
}

jvm内存如下图所示:

运行结果:

3.对象传递:与2类似

public class Object05 {
public static void main(String[] args) {
Person p = new Person();
B bb = new B();
p.name = "jack";
p.age = 20;
bb.PersonTest(p);
System.out.println("Person的age:"+ p.age+",name:"+p.name);
} }
class Person {
String name;
int age;
}
class B { public void PersonTest(Person p) {
p.age = 200;
}
}

jvm内存图如图所示:

运行结果如下:

java中方法传参形式的相关教程结束。

《java中方法传参形式.doc》

下载本文的Word格式文档,以方便收藏与打印。