java值的传递

public class Example { 
  String str = new String("good"); 
  char[] ch = {'a','b','c'}; 
  public static void main(String[] args) { 
     Example ex = new Example(); 
     ex.change(ex.str, ex.ch); 
     System.out.print(ex.str +"and"); 
     System.out.print(ex.ch);  
  }  
  public void change(String str, char ch[]){ 
     str= "test ok"; 
     ch[0]= 'g'; 
  } 
} 

// 输出 goodandgbc Java中确实是传值,而不是传引用
// 原因:str="test ok" 修改的是局部变量str,而不是类的成员变量str。类的成员变量并没有被修改。这个效果是,在change方法中定义了跟全局变量一样的变量名,被当做局部变量来处理。char ch[]传递的是地址,
posted @ 2015-07-25 15:07  java高级技术汇  阅读(166)  评论(0编辑  收藏  举报