码迷,mamicode.com
首页 > 编程语言 > 详细

Java-值传递

时间:2017-08-06 15:58:10      阅读:87      评论:0      收藏:0      [点我收藏+]

标签:stringbu   16px   system   nbsp   引用类型   java   ati   void   style   

 

public class StringBufferTestQuote {
    // x = a;(a,x地址指向同一个StringBuffer对象) y = b;(b,y地址指向同一个StringBuffer对象)
    public static void appendStringBuffer(StringBuffer x, StringBuffer y) { 
        x.append(y); // 对a,x地址指向的StringBuffer对象进行追加内容操作             
        y = x;
        System.out.println(x + " " + y); // AB AB
    }
    
    
    public static void main(String[] args) {
        StringBuffer a = new StringBuffer("A"); // 栈内存中的a地址指向堆内存中的一个StringBuffer对象
        StringBuffer b = new StringBuffer("B"); // 栈内存中的b地址指向堆内存中的一个StringBuffer对象
        
        appendStringBuffer(a, b); // 引用传递:将a地址和b地址分别复制一份给被掉方法
        System.out.println(a + " " + b); // AB B
        
    }
}
总结:(总结很重要
1.java中参数传递一律是值传递,基本类型->传递数值得一份拷贝给被调方法,引用类型->传递引用地址的一份拷贝给被掉方法。
2.引用地址赋值改变的是引用地址->该引用指向其它对象。
3.引用地址属于局部变量,作用范围在定义的代码块中。
4.引用与对象可能是多对一,一对一,零对一的关系

Java-值传递

标签:stringbu   16px   system   nbsp   引用类型   java   ati   void   style   

原文地址:http://www.cnblogs.com/wulei-app/p/7294692.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!