Java方法参数及其传递
2017-10-31 22:17
169 查看
方法的参数传递通常分为两种:值传递和引用传递。
1.传入的是基本类型
如果传入的是基本类型会在栈中分配内存,当按基本类型传递时,实参会多复制一份,因此,在方法内修改参数值时不影响原实参。
示例:基本类型传递
当方法结束之后,穿入的x值会被垃圾回收,但是在方法内部确实是改变的。
2.引用类型传递
引用类型传递是在栈中声明,在堆中分配内存,列如:
如果没有给对象初始化,会报NullPointerException异常,也就是空指针异常,意思就是对象没有初始化。
当通过“对象名.属性名”实际上就是每一个对应的堆内存空间。
1.传入的是基本类型
如果传入的是基本类型会在栈中分配内存,当按基本类型传递时,实参会多复制一份,因此,在方法内修改参数值时不影响原实参。
示例:基本类型传递
public class Demo1{ static int x = 10; public static void main(String[] args) { Demo1 demo = new Demo1(); demo.getX(x); System.out.println("x="+x); //x=10; } public void getX(int x){ x--; } }
当方法结束之后,穿入的x值会被垃圾回收,但是在方法内部确实是改变的。
2.引用类型传递
引用类型传递是在栈中声明,在堆中分配内存,列如:
T t; //在栈中声明 t = new T(); //在堆中分配内存
如果没有给对象初始化,会报NullPointerException异常,也就是空指针异常,意思就是对象没有初始化。
当通过“对象名.属性名”实际上就是每一个对应的堆内存空间。
相关文章推荐
- java get传递方法传递参数时,参数用utf8编码的解决方法
- request对象的方法及其参数的传递
- Java常见笔试面试题目深度剖析系列之:Java方法参数传递详解
- 关于"Java中方法参数的传递方式"的探讨
- 如果java中一个方法不知道要传递多少参数也不知道传递过来的是什么类型的数据你会怎么做?
- java get传递方法传递参数时,参数用utf8编码的解决方法
- 关于Java中方法调用时参数的传递
- Java方法的参数是按值传递的.
- JAVA本地方法调用(2)数组参数传递
- 我的理解:Java 中方法的参数全部都是按“值”传递的
- JAVA本地方法调用(3)对象参数传递
- java学习笔记(四)----对象、数组作为参数传递,静态变量、静态方法的使用,内部类,使用文档注释
- 在Java中方法参数的传递,对象是传递引用
- Java方法强制传递引用参数(做为返回值),改变被传递参数值。
- java方法参数传递
- java 学习 方法参数按值传递和按引用传递:
- java get传递方法传递参数时,参数用utf8编码的解决方法
- Eclipse运行java程序为主方法传递参数
- java get传递方法传递参数时,参数用utf8编码的解决方法
- JAVA方法参数传递技巧[转]