|
java问题
//example 1
class a()
{
int a=1;
public void test()
{
changeValueTo4()
System.out.print(a);//a=4
}
public void chantgeValueTo4()
{
a=4;
}
}
现在我要弄到这样
//example 1
class a()
{
int a=1;
public void test()
{
b.changeValueTo4(int a) //重点:我不要他return都可以换去4,好象C的pointer这样
System.out.print(a);//a=4
}
}
class b()
{
static chantgeValueTo4(int a)
{
a=4;
}
}
可以弄到吗?
谢谢。 |
|
|
|
|
|
|
|
发表于 22-6-2007 09:52 PM
|
显示全部楼层
除了 array, 在 Java 里你 pass by object 就可以办到你所要的. |
|
|
|
|
|
|
|
发表于 23-6-2007 10:55 PM
|
显示全部楼层
就如Sotong所说的那样,Java内的parameter passing,primitive-type是pass by primitive value的;而Reference type是pass by COPY of reference,和pass by reference不一样的是,当你将一个object的reference pass如一个方法后,方法内所掉用的是该reference的一个拷贝,虽然是refer同一个object,要是在方法内从新assign新的 object,将不会影响原本的reference。
所以,Java内最直接了当的还是return。 |
|
|
|
|
|
|
|
发表于 23-6-2007 10:56 PM
|
显示全部楼层
就如Sotong所说的那样,Java内的parameter passing,primitive-type是pass by primitive value的;而Reference type是pass by COPY of reference,和pass by reference不一样的是,当你将一个object的reference pass如一个方法后,方法内所掉用的是该reference的一个拷贝,虽然是refer同一个object,要是在方法内从新assign新的 object,将不会影响原本的reference。
所以,Java内最直接了当的还是return。 |
|
|
|
|
|
|
|
发表于 28-6-2007 01:27 PM
|
显示全部楼层
不需要用Array, 用 Big Int = new Integer() 就可以了。 |
|
|
|
|
|
|
| |
本周最热论坛帖子
|