您的位置:首页 > 编程语言 > Java开发

Java方法参数及其传递

2017-10-31 22:17 169 查看
方法的参数传递通常分为两种:值传递和引用传递。

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异常,也就是空指针异常,意思就是对象没有初始化。

当通过“对象名.属性名”实际上就是每一个对应的堆内存空间。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: