牛客网Java刷题知识点之基本数据类型参数传递和引用数据类型参数传递图解
2017-09-20 10:41
801 查看
不多说,直接上干货!
[b]一、对于基本数据类型参数传递代码的运行过程分析:[/b]
1、main方法进栈内存,main方法中有基本数据类型变量int x;
2、为main方法中的变量x赋值为3;
3、调用change(x)方法,则change方法进栈;
4、为change方法变量x赋值为4;
5、跳出change方法,同时change方法出栈,释放所有change方法和change方法中的x,即把x=4释放掉;
6、执行打印语句,些时的栈中只有main方法中的x,那么打印出的x=3;
7、跳出main方法,结束程序。
[b]二、对于引用数据类型参数传递代码的运行过程分析:[/b]
1、main方法进栈内存,main方法中有一个类类型变量Demo d;
2、new创建Demo对象,在堆内存中开辟一个空间,并把空间地址传给d(我们这里假设为0x0078),并为该地址中的x初始化为0,然后把3赋给x;
3、把d所指堆内存(0x0078)中的x赋为9;
4、调用change(d)方法,change方法进栈,change方法中的对象d就是main方法中的d,指向之前的堆内存地址(0x0078);
5、把d所指堆内存(0x0078)中的x赋为4;
6、跳出change方法,同时change方法出栈,释放change方法和方法中的对象d;
7、执行打印语句,些时的栈中也是只有main方法,并且d指向堆内存(0x0078),该地址中的x就是步骤5中的值4;
8、跳出main方法,结束程序。
//基本数据类型参数传递 class Demo { public static void main(String[] args) { int x = 3; show(x); System.out.println("x="+x); } public static void show(int x) { x = 4; } } //引用数据类型参数传递 class Demo { int x = 3; public static void main(String[] args) { Demo d = new Demo(); d.x = 9; show(d); System.out.println(d.x); } public static void show(Demo d) { d.x = 4; } }
[b]一、对于基本数据类型参数传递代码的运行过程分析:[/b]
1、main方法进栈内存,main方法中有基本数据类型变量int x;
2、为main方法中的变量x赋值为3;
3、调用change(x)方法,则change方法进栈;
4、为change方法变量x赋值为4;
5、跳出change方法,同时change方法出栈,释放所有change方法和change方法中的x,即把x=4释放掉;
6、执行打印语句,些时的栈中只有main方法中的x,那么打印出的x=3;
7、跳出main方法,结束程序。
[b]二、对于引用数据类型参数传递代码的运行过程分析:[/b]
1、main方法进栈内存,main方法中有一个类类型变量Demo d;
2、new创建Demo对象,在堆内存中开辟一个空间,并把空间地址传给d(我们这里假设为0x0078),并为该地址中的x初始化为0,然后把3赋给x;
3、把d所指堆内存(0x0078)中的x赋为9;
4、调用change(d)方法,change方法进栈,change方法中的对象d就是main方法中的d,指向之前的堆内存地址(0x0078);
5、把d所指堆内存(0x0078)中的x赋为4;
6、跳出change方法,同时change方法出栈,释放change方法和方法中的对象d;
7、执行打印语句,些时的栈中也是只有main方法,并且d指向堆内存(0x0078),该地址中的x就是步骤5中的值4;
8、跳出main方法,结束程序。
相关文章推荐
- 基本数据类型和引用数据类型参数传递图解
- 由【JAVA中参数传递问题】引发除了基本数据类型和引用类型的思考
- 基本数据类型参数传递图解引用数据类型参数传递图解
- 基本数据类型和引用数据类型的参数传递
- java中基本类型的参数传递和引用类型的参数传递
- 基本类型和引用类型参数传递图解
- JAVA中引用数据类型的参数传递
- java 传递参数 “引用是一种数据类型”,“参数是引用的一个拷贝”
- java基本数据类型传递与引用传递区别详解
- java基本数据类型传递与引用传递区别详解
- 2013年8月17日、二维数组定义的格式|用java表现一个描述小汽车|基本数据类型参数传递|
- 牛客网Java刷题知识点之基本类型、引用类型
- java程序设计--孙鑫java无难事Lesson5《java常用包、数据类型与引用类型、函数参数传递、克隆机制》
- JAVA---基本数据类型和引用数据类型传递值得案例
- java基本数据类型传递与引用传递区别详解
- java基本数据类型传递与引用传递区别详解
- java基本数据类型传递与引用传递区别详解
- java 中的基本数据类型的传递和引用数据类型的传递
- java基本数据类型传递与引用传递区别详解
- java基本数据类型传递与引用传递区别详解