62,614
社区成员
发帖
与我相关
我的任务
分享
public class StaticTest {
static{//静态块在静态变量之前声明
a=100;
}
public static int a=10;
public static void main(String[] args) {
System.out.println(StaticTest.a);//这里打印出的是10,说明public static int a=10;在static块之后 执行
}
}
public static int a
public class StaticTest {
static{
System.out.println(a);//static块中使用a符合上述情况,要在使用前声明,所以出现了一个error。
// 如果改为System.out.println(StaticTest.a)就不会报错了。(不符合第3点,没使用简单名称a,而用了StaticTest.a)
}
public static int a=10;
public static void main(String[] args) {
System.out.println(StaticTest.a);
}
}
public class StaticTest {
static{
a=20;//这个a在赋值语句的左边,不符合第2点。所以是可以的。
}
public static int a=10;
public static void main(String[] args) {
System.out.println(StaticTest.a);
}
}
public class StaticTest {
static {
a = 100;
}
public static int a;
public static void main(String[] args) {
System.out.println(StaticTest.a);
}
}