Java引用传递和值传递

    xiaoxiao2021-03-25  114

    其实很多时候会遇到值传递,在C语言中还好,可是到了Java中一开始就有点不习惯。然后先按照自己的理解写写吧。值传递的话就只是把数值复制过去,而引用传递就好像是指针指向了同一个地方一样。

    值传递的话交换不了数值。

    引用传递的话,指向的A对象就好像是一个全局变量吧,然后在调用的swap函数以后,全局变量的数值就变了。暂时是这么理解,过几天看了java编程思想再写

    值传递

    public class TempTest { public static void main(String[] args) { int a = 10; int b = 2; System.out.println(a + " " + b); swap(a, b); System.out.println(a + " " + b); } public static void swap(int a, int b) { int tmp = a; a = b; b = tmp; } } 输出为     10 2 10 2

    引用传递

    class A{ int a ; int b; } public class TempTest { public static void main(String[] args) { A a = new A(); a.a =10; a.b =2; System.out.println(a.a+" "+a.b); swap(a); System.out.println(a.a+" "+a.b); } public static void swap(A a){ int tmp = a.a; a.a = a.b; a.b = tmp; } } 输出: 10 2 2 10
    转载请注明原文地址: https://ju.6miu.com/read-17757.html

    最新回复(0)