結(jié)論
- 基類靜態(tài)代碼塊
- 子類靜態(tài)代碼塊
- 基類代碼塊
- 基類構(gòu)造函數(shù)
- 子類代碼塊
- 子類構(gòu)造函數(shù)
驗證代碼
package com.zoterap.javabasic.classinit;
public class Base {
/**
* 1. 「基類」的靜態(tài)代碼塊&靜態(tài)成員變量,按照先后順序執(zhí)行
*/
//-----基類靜態(tài)代碼塊 BEGIN-----
static {
System.out.println("基類靜態(tài)代碼塊1");
}
private static String staticValue = LogUtil.print("基類靜態(tài)成員變量");
static {
System.out.println("基類靜態(tài)代碼塊2");
}
//-----基類靜態(tài)代碼塊 END-----
/**
* 3. 「基類」代碼塊&成員變量缭贡,按照先后順序執(zhí)行
*/
//-----基類代碼塊 BEGIN-----
{
System.out.println("基類代碼1");
}
private String value = LogUtil.print("基類成員變量");
{
System.out.println("基類代碼2");
}
//-----基類代碼塊 END-----
/**
* 4. 「基類」構(gòu)造函數(shù)
*/
Base() {
System.out.println("基類構(gòu)造函數(shù)");
}
static class Son extends Base {
/**
* 2. 「子類」的靜態(tài)代碼塊&靜態(tài)成員變量院塞,按照先后順序執(zhí)行
*/
//-----子類靜態(tài)代碼塊 BEGIN-----
static {
System.out.println("「子類」靜態(tài)代碼塊1");
}
private static String staticValue = LogUtil.print("「子類」靜態(tài)成員變量");
static {
System.out.println("「子類」靜態(tài)代碼塊2");
}
//-----子類靜態(tài)代碼塊 BEGIN-----
/**
* 5. 「子類」代碼塊&成員變量吕朵,按照先后順序執(zhí)行
*/
//-----子類代碼塊 BEGIN-----
{
System.out.println("「子類」代碼塊1");
}
private String value = LogUtil.print("「子類」成員變量");
{
System.out.println("「子類」代碼塊2");
}
//-----子類代碼塊 END-----
/**
* 6. 「子類」構(gòu)造函數(shù)
*/
Son() {
System.out.println("「子類」構(gòu)造函數(shù)");
}
}
public static void main(String[] args) {
new Son();
}
}