站内搜索: 请输入搜索关键词

当前页面: 开发资料首页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

明白了吗?


收到~


↑返回目录
前一篇: 怎么定义k是全局,静态,整形变量
后一篇: 为什么continue 返回到back1的时候 不执行?