`

java参数传递

阅读更多
1. 基本类型的传递
首先我们看下面的例子
public class D {
public static void main(String args[]){
double pi=3.14;

System.out.println("before"+pi);
zero(pi);
System.out.println("after"+pi);
}
static void zero(double arg){
System.out.println("top of zero "+arg);
arg=0.0;                    System.out.println("after of zero "+arg);
}
}

我们为pi设置一个值,并把它作为参数传递给一个方法,这个方法会把这个值设为0,这里zero方法处理的是pi值的一个副本,和主函数中的pi没有关系。
2引用的传递

class Pi{
double value=3.14;
public String toString(){
Double d =new Double(value);
return d.toString();
}
}


public class D {
public static void main(String args[]){
Pi pi=new Pi();
System.out.println("before"+pi);
zero(pi);
System.out.println("after"+pi);
}
static void zero(Pi arg){
System.out.println("top of zero "+arg);
arg.value=0.0;
System.out.println("middle of zero"+arg);
arg=null;
System.out.println("after of zero "+arg);
}
}
class Pi{
double value=3.14;
public String toString(){
Double d =new Double(value);
return d.toString();
}
}

在main中创建了一个Pi实例,并且给它指派一个叫pi的对象引用,我们用pi来指向内存中的某一块,在该内存块中存储的是值为3.14的Pi类型的变量,
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics