成員變數,靜態變數,靜態塊,靜態方法執行順序
阿新 • • 發佈:2019-01-27
測試案例一
/**
* @author 歡迎加入Java技術交流群:646766275
*
*/
public class Test {
static int x = 10;
static {x += 5;}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("x=" + x);
}
static {x /= 3;}
}
main方法執行結果:
x=5
測試案例二
/**
* @author 歡迎加入Java技術交流群:646766275
*
*/
public class HelloA {
public HelloA() {
System.out.println("HelloA");
}
{System.out.println("I'm A class");}
static {System.out.println("static A");};
}
/**
* @author 歡迎加入Java技術交流群:646766275
*
*/
public class HelloB extends HelloA {
public HelloB() {
System.out.println("HelloB");
}
{System.out.println("I'm B class");}
static {System.out.println("static B");}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("-main");
new HelloB();
new HelloB();
}
}
main方法執行結果:
static A
static B
-main
I’m A class
HelloA
I’m B class
HelloB
I’m A class
HelloA
I’m B class
HelloB