日期:2014-05-20  浏览次数:20547 次

我心中一直有一个疑惑,望各位高手指点 谢谢哈
问题1,在java传值中,如果参数是基本数据类型和引用类型时,分别是怎么回事呀?我纠结了好多天了 还是想不明白呀 
问题2,toString()方法到底有什么作用,我看了好几本书上写的 怎么越看越糊涂呀 
以上两个问题请各位高手指点呀谢谢

------解决方案--------------------
Java code
1、所以 在 方法中修改基本类型的参数对原来是没有影响的,而如果修改引用类型:如果把参数的引用指向新的对象 ,那么原来的对象也不会影响,比如:

class Person{
  public String name ;
}
public void AA(Person obj){
  obj = new Person () ; //对原来传过来的是不会有影响 ;
}

但是如果修改了引用参数的属性,则会对原来的对象有影响:比如:
Person obj = new Person() ;
obj.name = "1" ;
AA(obj) ;

public void AA(Person obj){
  obj.name = "2" ;
}

public void BB(Person obj){
  obj  = new Person() ;
  obj.name = "3 ;
}


public static void main(String [] args){
   Person obj = new Person() ;
   obj.name = "1" ;
   AA(obj) ;

   System.out.println(obj.name) ; //结果为2 ;
   BB(obj);
   System.out.println(obj.name) ; //结果还是为2 ;

   


}