JAVA基礎-子類繼承父類例項化物件過程
阿新 • • 發佈:2019-02-02
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() {
//super();
System.out.println("子類--構造器");
}
// 程式入口
public static void main(String[] args) {
System.out.println("*************in main***************");
new SubClass();
System.out.println("*************second subClass***************");
new SubClass();
}
}
// 靜態變數
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() {
//super();
System.out.println("子類--構造器");
}
// 程式入口
public static void main(String[] args) {
System.out.println("*************in main***************");
new SubClass();
System.out.println("*************second subClass***************");
new SubClass();
}
}