磨刀不误砍柴工

合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。

   ::  ::  ::  :: 管理
java中只有传值

package sinosoft;

import org.junit.Test;

public class PassValueTest {
    
    /**
     * 运行结果是
     *  Hello World!
        hi World!
        Hello World!
        要理解这点,就要理解在Java中只有传值
        对于参数传递,如果是简单数据类型,那么它传递的是值拷贝,
        对于类的实例它传递的是类的引用的拷贝
        
        对类来说:引用与引用的拷贝都指向对象的同一个内存块,因此对引用操作,引响的是同一个对象
        但像chang方法中,对引用的拷贝重新赋给一个对象,那就与原先对象无关了。自然不会影响到原先对象
     */
    @Test
    public void test(){
        StringBuffer bf = new StringBuffer("Hello World!");
        System.out.println(bf.toString());
        
        change(bf);
        
        System.out.println(bf.toString());
    }
    
    public void change(StringBuffer bf){
        bf = new StringBuffer("hi");
        bf.append(" World!");
        
        System.out.println(bf.toString());
    }      
}
posted on 2010-04-23 17:12 liwei5891 阅读(179) 评论(0)  编辑  收藏 所属分类: Java

只有注册用户登录后才能发表评论。


网站导航: