Java按值传递

1、方法传递的是基本数据类型

public class SortMain {

    public static void main(String[] args) {
        int i=5;
        changei(i);
        System.out.println("after="+i);

    }
}
  private static void changei(int i) {
        i=i*3;
        System.out.println("before="+i);
    }
打印结果
before=15
after=5

2、方法传递的是对象,修改的是对象数据和对象引用的不同

public class Student {

    private String name;
    private int age;

    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}
public class SortMain {

    public static void main(String[] args) {
   
        Student student = new Student("小马哥", 25);
        changeName(student);
        System.out.println(student.toString());

        Student refre = new Student("引用", 28);
        changeStu(refre);
        System.out.println(refre.toString());
    }

  private static void changeStu(Student refre) {
        refre = new Student("引用修改", 30);
        System.out.println(refre.toString());
    }

    private static void changeName(Student student) {
        student.setName("修改名称");
        System.out.println(student.toString());
    }
}
打印结果:
Student{name='修改名称', age=25}
Student{name='修改名称', age=25}
Student{name='引用修改', age=30}
Student{name='引用', age=28}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容