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
原文地址:https://www.cnblogs.com/of-fanruice/p/7379723.html