牛客錯題集(Java)

SFD書方讀發表於2020-12-11
  1. 以下程式碼的說明,正確的是
class StaticStuff {
 	static int x = 10;
 	static {
		x+=5;
	}
	public void static main(String[] args) {
		log.info("x = "  + x);
	}
	static {
		x/=3;
	}
}

解析

Java 初始化的載入順序為: 父類靜態成員變數–>父類靜態程式碼塊–>子類靜態成員變數–>子類靜態程式碼塊–>父類非靜態成員變數–>父類非靜態程式碼塊–>父類建構函式–>子類非靜態成員變數–>子類非靜態程式碼塊–>子類建構函式。所以題中x的輸出應該是 5

相關文章