值传递和引用传递

断鸿 2019年07月13日 118次浏览

调用方法时,实参形参传递的过程

  • 基本数据类型:直接复制的值
  • 封装类型:复制的引用变量的值(引用实例化对象的首地址)
    @Data
    class User {
        private String name;
    }

    @Test
    public void test() {
        User user = new User();
        user.setName("hello");
        int age = 10;
        System.out.println("before======" + user + "---" + age);
        changeName(user, age);
        System.out.println("after=======" + user + "---" + age);
    }

    private void changeName(User user, int age) {
        user.setName("world");
        age = 20;
    }