您好,登錄后才能下訂單哦!
在Java程序中,當實例化對象時,對象的所在類的所有成員變量首先要進行初始化,只有當所有類成員完成初始化后,才會調(diào)用對象所在類的構(gòu)造函數(shù)創(chuàng)建對象。
class Base {
public Base() {
System.out.println("父類構(gòu)造方法");
}
String b = "父類非靜態(tài)變量";
{
System.out.println(b);
System.out.println("父類非靜態(tài)代碼塊");
}
static String a = "父類靜態(tài)變量";
static {
System.out.println(a);
System.out.println("父類靜態(tài)代碼塊");
}
public static void A() {
System.out.println("父類普通靜態(tài)方法");
}
}
class Derived extends Base {
public Derived() {
System.out.println("子類構(gòu)造器");
}
String b = "子類非靜態(tài)變量";
{
System.out.println(b);
System.out.println("子類非靜態(tài)代碼塊");
}
static String a = "子類靜態(tài)變量";
static {
System.out.println(a);
System.out.println("子類靜態(tài)塊");
}
public static void A() {
System.out.println("子類普通靜態(tài)方法");
}
public static void main(String[] args) {
Base.A();
Derived.A();
new Derived();
}
}
分別執(zhí)行主函數(shù)里的三條指令,執(zhí)行結(jié)果如下。
Base.A()
Derived.A()
new Derived()
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。