Java中,传递参数有两种,一种是值传递,是将实参的副本传入方法内,而实参本身不受影响;另一种是引用传递,亦称地址传递,实在方法调用时,实参把对象的地址传递给形式参数。这时实参与形参指向同一个地址,即同一个对象,方法执行时,对形参的改变实际上就是对实参的改变,改变的结果在调用结束后被保留了下来。
1.值传递
值传递所传递的参数是基本数据类型,如int型、float型和char型等。
2.引用传递
引用传递指参数传递的是引用数据类型,则方法获得的是这个对象的内存地址,所以方法可以改变对象的属性,但不能改变对象本身。
public class ClassTest11{
public static void change(String str,char []){
str="Hello";
c=new char[]{'W','o','r','l','d'};
}
public static void main(String[] args){
String str= new String("Java");
char c[]={'L','a','n','g','u','a','g','e'};
change(str,c);
System.out.println(str+"123");
for(int i=0;i<c.length;i++)
{
System.out.println(c[i]);
}
}
}
运行结果:Java123Language
引用传递不能改变对象本身,但是可以改变对象的属性。