java中方法传值小知识解析
-
1、java语言参数之间只有值传递,包括按值调用和按引用调用。 一个方法可以修改传递引用所对应的变量值,而不能修改传递值调用所对应的变量值。按值调用:包括八大基本数据类型都是按值调用。传值的时候,也就是说方法得到的是所有参数值的一个拷贝。按引用调用:数组、对象。传值时候,传递的是引用地址的拷贝,但是都是指向同一个对象。2、String是不可变类(final and Immutable)下面给大家一个例子:
public class Example{ String str=new String("good"); char[]ch={'a','b','c'}; public static void main(String args[]){ Example ex=new Example(); ex.change(ex.str,ex.ch); System.out.print(ex.str+" and "); System.out.print(ex.ch); } public void change(String str,char ch[]){ //引用类型变量,传递的是地址,属于引用传递。 str="test ok"; ch[0]='g'; } }
因此,这个题应该选择B