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项?
望指点

解决方案 »

  1.   

    改成这个就OK
    static void problem(text t)
    {
    t.b = new double[4];
    }
      

  2.   

    哦~也就是说
    text.problem(t);
    中的t是实际参数,他只是把自己的值传了过去。
      

  3.   

    你两个参数都用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明白了吗?