读书人

一个有关问题搞不清楚麻烦高手赐教

发布时间: 2012-01-19 00:22:28 作者: rapoo

一个问题搞不清楚,麻烦高手赐教
class A
{
int i;
}

class D
{
public static void main(String[] args)
{
int j=10;
A a=new A();
a.i=1;
int k=0;
while(k++ <10)
{
System.out.println( "k= "+k);
g(a,j);

}

System.out.println( "j= "+j);
System.out.println( "a.i= "+a.i);

}
static void g(A a,int j)
{
a.i+=j;
j*=2;
System.out.println( "j= "+j);
System.out.println( "a.i= "+a.i);
}
}


运行结果
k=1
j=20
a.i=11
k=2
j=20
a.i=21
k=3
j=20
a.i=31
k=4
j=20
a.i=41
k=5
j=20
a.i=51
k=6
j=20
a.i=61
k=7
j=20
a.i=71
k=8
j=20
a.i=81
k=9
j=20
a.i=91
k=10
j=20
a.i=101
j=10
a.i=101

我是想问为什么a.i的值不断变化,而j的值不变啊,每次都是j=10导入


[解决办法]
和上面那个问题调用g()一样,也是变量的作用空间

读书人网 >J2SE开发

热点推荐