package test;
class Parent {?? ?
??? // 靜態變量?? ?
??? public static String p_StaticField = "父類--靜態變量";?? ?
??? // 變量?? ?
??? public String p_Field = "父類--變量";?? ?
? ?
??? // 靜態初始化塊?? ?
??? static {?? ?
???????? System.out.println(p_StaticField);?? ?
???????? System.out.println("父類--靜態初始化塊");?? ?
???? }?? ?
? ?
??? // 初始化塊?? ?
???? {?? ?
???????? System.out.println(p_Field);?? ?
???????? System.out.println("父類--初始化塊");?? ?
???? }?? ?
? ?
??? // 構造器?? ?
??? public Parent() {?? ?
???????? System.out.println("父類--構造器");?? ?
???? }?? ?
}?? ?
? ?
public class SubClass extends Parent {?? ?
??? // 靜態變量?? ?
??? public static String s_StaticField = "子類--靜態變量";?? ?
??? // 變量?? ?
??? public String s_Field = "子類--變量";?? ?
??? // 靜態初始化塊?? ?
??? static {?? ?
???????? System.out.println(s_StaticField);?? ?
???????? System.out.println("子類--靜態初始化塊");?? ?
???? }?? ?
??? // 初始化塊?? ?
???? {?? ?
???????? System.out.println(s_Field);?? ?
???????? System.out.println("子類--初始化塊");?? ?
???? }?? ?
? ?
??? // 構造器?? ?
??? public SubClass() {?? ?
???????? System.out.println("子類--構造器");?? ?
???? }?? ?
? ?
??? // 程序入口?? ?
??? public static void main(String[] args) {?? ?
?? ??? ?new SubClass();?? ?
???? }?? ?
}? ?
//結果:
//*****************
//父類--靜態變量
//父類--靜態初始化塊
//子類--靜態變量
//子類--靜態初始化塊
//父類--變量
//父類--初始化塊
//父類--構造器
//子類--變量
//子類--初始化塊
//子類--構造器