public class InitializeSon extends InitializeFather {
private static int si1 = getStaticVariable();
private int mi1 = getMemberVariable();
private int getMemberVariable() {
System.out.println("Son Member variable");
return 5;
}
private static int getStaticVariable() {
System.out.println("Son Static variable");
return 4;
}
static {
System.out.println("Son Static block");
}
{
System.out.println("Son Non static block");
}
InitializeSon() {
System.out.println("Son Constructor");
}
public static void main(String[] args) {
InitializeSon initializeSon = new InitializeSon();
// InitializeFather initializeFather = new InitializeFather();
// InitializeGrandfather initializeGrandfather = new InitializeGrandfather();
}
}
class InitializeFather extends InitializeGrandfather {
private static int si2 = getStaticVariable();
private int mi2 = getMemberVariable();
private int getMemberVariable() {
System.out.println("Father Member variable");
return 5;
}
private static int getStaticVariable() {
System.out.println("Father Static variable");
return 4;
}
static {
System.out.println("Father Static block");
}
{
System.out.println("Father Non static block");
}
InitializeFather() {
System.out.println("Father Constructor");
}
}
class InitializeGrandfather {
private static int si3 = getStaticVariable();
private int mi3 = getMemberVariable();
private int getMemberVariable() {
System.out.println("Grandfather Member variable");
return 5;
}
private static int getStaticVariable() {
System.out.println("Grandfather Static variable");
return 4;
}
static {
System.out.println("Grandfather Static block");
}
{
System.out.println("Grandfather Non static block");
}
InitializeGrandfather() {
System.out.println("Grandfather Constructor");
}
}
三.運行結果
Grandfather Static variable
Grandfather Static block
Father Static variable
Father Static block
Son Static variable
Son Static block
Grandfather Member variable
Grandfather Non static block
Grandfather Constructor
Father Member variable
Father Non static block
Father Constructor
Son Member variable
Son Non static block
Son Constructor