我是Java的新手。我对java打印顺序感到困惑。请看我的代码:
public class Test {
private static int a;
private int b;
static
{
Test.a=3;
System.out.println(a);
Test t=new Test();
t.f();
t.b=1000;
System.out.println(t.b);
}
static
{
Test.a=4;
System.out.println(a);
}
public static void main(String[] args)
{
}
static
{
Test.a=5;
System.out.println(a);
}
public void f()
{
System.out.println("hhahhahah");
}
}
输出是:
3
hhahhahah
1000
4
5
有人可以告诉我为什么“hhahhahah”出现在1000号之前? Java如何决定打印顺序?
答案 0 :(得分:0)
这就是您在t.f()
System.out.println(t.b);
的原因
和t.f()
打印hhahhahah
答案 1 :(得分:0)
为什么它不应该。查看代码的顺序
Test t=new Test();
t.f(); //hhahhahah
t.b=1000;
System.out.println(t.b); //1000
在打印f
的值之前,您调用了类Test
中的方法(b
)。