引用传递和值传递的区别

1. 引用传递和值传递的区别
答:(1)按值传递不会改变实际参数的数值;
(2)按引用传递可以改变实际参数的内容,但不能改变实际参数的参考地址。
例如:
public class Test{
public static void main(String[] args)
{
int i=1;
StringBuffer sb = new StringBuffer(“Hello”);
test(sb,i); //sb引用传递,i为值传递
System.out.print(sb);
System.out.print(i);
}

public static void test(StringBuffer str,int n)
{
str.append(“Word”);
n = 8;
}
}

输出的结果为:Hello Word 1

2. 形式参数
答:
(1)形式参数可视为局部变量
原因:形参的作用范围是方法体内,当方法调用结束之后,其整个生命周期也就结束。

(2)真正被传递的是实参不是形参
方法调用的时候,只能把实参的值传递给形参,不能把形参的值,传递给实参

(3)形参可以是基本的数据类型(char,byte,int等等),也可以是对象(String,List或者自定义的对象类型)

你可能感兴趣的:(Java基础)