Java方法参数:

  1. 一个方法不能修改一个基本数据类型的参数

  2. 一个方法可以改变一个对象参数的状态

  3. 一个方法不能实现让对象参数引用一个新的对象

案例1: 一个方法不能修改一个基本数据类型的参数

String a = "hello";
change(a);
System.out.println(a);   //  hello

public static void change(String a){
        a = a +" world";
}

案例2: 一个方法可以改变一个对象参数的状态

/**
    *   一个方法可以改变一个对象参数的状态
    */
   private static void test2() {
       Employee zhang = new Employee("zhang", 12f);
       change2(zhang);
       System.out.println(JSON.toJSONString(zhang));//  {"name":"zhang","salary":24.0}
   }
   public static void change2(Employee a){
       a.setSalary(a.getSalary() * 2);
   }

案例3:一个方法不能实现让对象参数引用一个新的对象

/**
     *  这个是为了证明java参数传递采用的是值传递,而不是引用调用
     */
    private static void test1() {
        Employee zhang = new Employee("zhang", 12f);
        Employee li = new Employee("li", 14f);
        swap(zhang,li);
        System.out.println(JSONObject.toJSONString(zhang));
        System.out.println(JSONObject.toJSONString(li));
//        {"name":"zhang","salary":12.0}
//        {"name":"li","salary":14.0}
    }

    public static void swap(Employee a, Employee b){
        Employee tmp = a;
        a = b;
        b = tmp;
    }

原文地址:https://www.cnblogs.com/zhuguangzhe/p/11909698.html