java中的static?

来源:百度知道 编辑:UC知道 时间:2024/06/30 14:41:06
public class 关键字static {

public static void main(String[] args) {
Test20.i = 10;
Test20.i = 20;
System.out.println(Test20.i);
System.out.println(Test20.i);
double d = Math.random();

}

}

class Test20 {
static int i;

static int j;

public void setI(int a) {
i = a;

}

public static void setJ(int a)
j = a;
}
}
为什么这个程序输出两个20?
Test20.i=10是把i赋值为10了
Test20.i = 20; 把i重新赋值为20
然后输出Test20.i
这里没有用到Test20里的两个方法,是这样么?

这个似乎很明显啊
public static void main(String[] args) {
Test20.i = 10;
Test20.i = 20; 运行到这里 Test20.i=20
System.out.println(Test20.i); 打印20
System.out.println(Test20.i); 打印20
double d = Math.random();

}

就是2个20了 你只用了Test20.i 没有用到Test20.j

回答补充:
你没有调用Test20里的方法 所以没有用到
如果你的目的是通过Test20里的方法修改i的值
那么你应该先调用Test20的方法,在println

程序很有问题。。。。你是不是打错了

Test20里的两个方法setI,setJ,你并没有调用过,如何会使用?

Test20.i = 10;
Test20.i = 20;
重复覆值无用。整个程序大部分都是无用部分,也许你在研究static 的用法。