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;
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 的用法。