当前页面: 开发资料首页 → J2SE 专题 → 困饶一天的问题。。。。
困饶一天的问题。。。。
摘要: 困饶一天的问题。。。。
class text{
double[] b;
text(int i)
{
b = new double [i];
}
static void problem(text t)
{
t = new text(4);
}
}
。。
main 函数中的:
text t = new text(2);
text.problem(t);
现在问题是text.problem(t);之后的t.b数组有几个数组项?为什么会还是2项?
望指点。。。
当然是2
值传递是不会改变实参的
改成这个就OK
static void problem(text t)
{
t.b = new double[4];
}
哦~也就是说
text.problem(t);
中的t是实际参数,他只是把自己的值传了过去。
你两个参数都用t不好说明,我把你的一个参数换个名字好说明:
class text{
double[] b;
text(int i)
{
b = new double [i];
}
static void problem(text x)
{
x = new text(4);
}
}
。。
main 函数中的:
text t = new text(2);
text.problem(t);
t是实参,x是形参
如果直接对形参x赋值,那么不会影响到实参t
如果调用形参x的方法,或直接修改形参x的属性,会影响到实参t
明白了吗?
收到~