交换的本质是拷贝,其中拷贝包括两种方式。值拷贝和指针拷贝,在java中没有指针,为此,我们可以理解为地址拷贝,在我看来,指针就是地址。

1.传值方式示例:

    

 

 

   由上述示例可得,传值,不能起到交换的作用,原有变量的值仍未改变。

2.传址方式示例:

   

   该示例通过创建一个类对象Int,为该对象的成员变量num赋值,将对象Int传入swap函数中,起到一个传址的作用。然后对其num属性进行交换。达到真正的交换目的。

值得一说的是,对象本身就是一个地址。我们可以通过打印x来验证:

    

 

  

 

版权声明:本文为ranter原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/ranter/p/8975880.html