1片择、代碼執(zhí)行順序
有這樣兩個(gè)類:
類A:
public class HelloA {
public HelloA() {
System.out.println("HelloA");
}
{
System.out.println("I'm A class");
}
static {
System.out.println("static A");
}
}
類B繼承自類A
public class HelloB extends HelloA {
public HelloB() {
System.out.println("HelloB");
}
{
System.out.println("I'm B class");
}
static {
System.out.println("static B");
}
}
測試:
new HelloB();
輸出:
static A
static B
I'm A class
HelloA
I'm B class
HelloB
2彰居、Thread的run()和start()方法
public static void main(String[] args) {
Thread t = new Thread() {
@Override
public void run() {
pong();
}
};
t.run();
System.out.print("ping");
}
private static void pong() {
System.out.print("pong");
}
輸出:
pongping
如果把t.run();改為t.start();則輸出為:
pingpong 或者 pongping