成员方法传参形式:

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内存图如图所示:

运行结果如下:

最新文章

  1. hdu 2037简单贪心--活动安排问题
  2. tomcat项目的部署
  3. Freemarker 各种格式化
  4. nginx反向代理、优化
  5. Hibernate的持久化类状态
  6. 在C#中我们能调用一个类的私有方法吗
  7. wamp的mysql密码修改
  8. c#调用js,以及js调用C#里的函数, c#自己生成js代码,实现对web的控制
  9. c++学习笔记(2)类的声名与实现的分离及内联函数
  10. 使用FTPClient进行文件服务器内文件的上传和下载
  11. php 写内容入csv文件乱码解决方法
  12. CodeRush Xpress的菜单在VS2008SP1中不显示的解决方法
  13. vue引入新版 vue-awesome-swiper填坑
  14. testng实现场景恢复
  15. python将图片转换为Framebuffer裸数据格式(终端显示图片)【转】
  16. 2016年3月3日android实习笔记
  17. angularjs的cache
  18. python 阿狸的进阶之路(8)
  19. vue.js 作一个用户表添加页面----初级
  20. DOM0和D0M2级事件

热门文章

  1. 如何评判一个企业是否需要实施erp系统?
  2. liunx的三个时间atime,mtime,ctime详细说明与使用场景
  3. bootstrapValidator 参数校验框架
  4. 利用POI遍历出层级结构的excel表格
  5. 图解不同版本的HTTP协议
  6. 2022最新版JDK1.8的安装教程、包含jdk1.8的提取码(亲测可用)
  7. Bob 的生存概率问题
  8. C#字典出错“集合已经修改,可能无法执行枚举操作”
  9. 关于软件物料清单(SBOM),你所需要了解的一切
  10. JavaScrip基础学习笔记(一)