父類與子類的靜態程式碼塊、程式碼塊、構造方法執行順序
阿新 • • 發佈:2019-02-17
StaticTest.java
package com.staticTest;
/**
* 測試靜態程式碼塊執行順序
* 1、static能修飾的類只有靜態內部類
* 2、靜態方法不能直接訪問非靜態成員(方法,成員變數)
* 3、靜態程式碼塊在類載入的時候,就直接載入,且只執行一次
* 4,執行順序:父類靜態程式碼塊與靜態成員-->
* 子類靜態程式碼塊與靜態成員-->
* 父類程式碼塊-->
* 父類構造方法-->
* 子類程式碼塊-->
* 子類構造方法-->
*
* @author liu
*
*/
public class StaticTest {
static{
System.out.println("父類靜態程式碼塊");
}
public StaticTest(){
System.out.println("父類構造方法");
}
{
System.out.println("父類程式碼塊");
}
public static void main(String[] args) {
new child();
}
}
class child extends StaticTest{
static {
System.out.println("子類靜態程式碼塊");
}
{
System.out.println("子類程式碼塊");
}
public child(){
System.out.println("子類構造方法");
}
}
執行結果: