美文网首页
Java引用类型传递

Java引用类型传递

作者: 133sheiya | 来源:发表于2017-04-24 09:58 被阅读9次

    /**

    • 引用类型传递
    • @author bo

    */

    class Change{

    //声明属性 赋初始值
    
    int x = 0;
    

    }

    public class QuoteTest {

         public static void main(String[]args) {
    
    Change change  = new Change();
    //此时x的值为20,
    change.x = 20;
    //调用方法改变对象的属性值
    fun1(change);//
    //所以
    System.out.println("x=== "+ change.x);
    /**
     * 程序只在fun1()中才将x的值赋为25,为什么方法调用完成之后还将值保留下来呢??
     * 
     */
    }
    

    /***

    • 因为接收的参数对象是一个对象 。也就是说 c1是一个对象的引用.
    • 所以在fun1方法中的操作 在操作完成之后就会影响原来对象的参数...
    • 此处将对象赋值给了c1 c1通过方法体改变x的值,此时 c1 与change指向同一块内存空间。
    • 所以方法体改变了x的值 ,相当于外部的change.x = 25;
    • @param c1 Change对象
      */
      public static void fun1(Change c1)
    {
        c1.x = 25;
    }
    

    }

    相关文章

      网友评论

          本文标题:Java引用类型传递

          本文链接:https://www.haomeiwen.com/subject/ybbuzttx.html