java的传参

1.对象就是传引用(int,boolean,char...)
2.原始类型就是传值
3.String,Integer,Long...等类型因为没有提供自身修改的函数,每次操作都是新生成一个String对象,所以要特殊对待。可以认为是传值。

/***
*对象就是把地址传进去了,一切在地址上修改的动作,不管是否在子函数里头都是ok生效的
*但是子函数里头的地址切换,是不会影响外部(主)函数的变量所指向的地址!
*/
class
Test03 {   public static void main(String[] args)   {     StringBuffer s= new StringBuffer("good");     StringBuffer s2=new StringBuffer("bad");     test(s,s2);     System.out.println(s);//9 ---------地址还是那个地址,没有被函数修改     System.out.println(s2);//10 -------上同   }   static void test(StringBuffer s,StringBuffer s2) {     System.out.println(s);//1     System.out.println(s2);//2     s2=s;//3     s=new StringBuffer("new");//4     System.out.println(s);//5     System.out.println(s2);//6     s.append("hah");//7     s2.append("hah");//8   } }
/*Output:   good   bad   
new   good   goodhah ---surprise?好好理解下!   bad ---上同
*///:~

 

posted @ 2013-04-08 10:05  yanghuahui  阅读(1287)  评论(0编辑  收藏  举报