摘要:先看以下代碼執行代碼后輸出該問題涉及靜態初始化代碼塊構造代碼塊構造方法當涉及到繼承時,按照如下順序執行執行父類的靜態代碼塊輸出執行子類的靜態代碼塊輸出執行父類的構造代碼塊輸出執行父類的構造函數輸出無執行子類的構造代碼塊輸出執行子類的構造函數
先看以下代碼
public class HelloB extends HelloA { public HelloB() { } { System.out.println("I’m B class"); } static { System.out.println("static B"); } public static void main(String[] args) { new HelloB(); } } class HelloA { public HelloA() { } { System.out.println("I’m A class"); } static { System.out.println("static A"); } }
執行代碼后輸出
static A
static B
I’m A class
I’m B class
該問題涉及:靜態初始化代碼塊、構造代碼塊、構造方法
當涉及到繼承時,按照如下順序執行:
1、執行父類的靜態代碼塊
static { System.out.println("static A"); }
輸出:static A
2、執行子類的靜態代碼塊
static { System.out.println("static B"); }
輸出:static B
3、執行父類的構造代碼塊
{ System.out.println("I’m A class"); }
輸出:I"m A class
4、執行父類的構造函數
public HelloA() { }
輸出:無
5、執行子類的構造代碼塊
{ System.out.println("I’m B class"); }
輸出:I"m B class
6、執行子類的構造函數
public HelloB() { }
輸出:無
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/72344.html
摘要:也就是說,一個實例變量,在的對象初始化過程中,最多可以被初始化次。當所有必要的類都已經裝載結束,開始執行方法體,并用創建對象。對子類成員數據按照它們聲明的順序初始化,執行子類構造函數的其余部分。 類的拷貝和構造 C++是默認具有拷貝語義的,對于沒有拷貝運算符和拷貝構造函數的類,可以直接進行二進制拷貝,但是Java并不天生支持深拷貝,它的拷貝只是拷貝在堆上的地址,不同的變量引用的是堆上的...
摘要:拆箱將包裝類型轉換為基本類型的過程。否則會拋出異常。默認采用單鏈表解決沖突,如果鏈表長度超過,將單鏈表轉換為紅黑樹。內部使用紅黑樹實現,存儲映射。紅黑樹減弱了對平衡的要求,降低了保持樹平衡需要的開銷,在實際應用中,統計性能超過平衡二叉樹。 引言 showImg(https://segmentfault.com/img/bVbv7Mr?w=242&h=410); 在學習《Java編程的邏...
摘要:所以這段代碼也就避免了代碼一中,可能出現因為多線程導致多個實例的情況。從內部看是一個餓漢式的單例,但是從外部看來,又的確是懶漢式的實現枚舉使用是不是很簡單而且因為自動序列化機制,保證了線程的絕對安全。 在介紹單例模式之前,我們先了解一下,什么是設計模式?設計模式(Design Pattern):是一套被反復使用,多數人知曉的,經過分類編目的,代碼設計經驗的總結。目的:使用設計模式是為了...
摘要:隨著計算機革命的發展,不安全的編程方式已逐漸成為編程代價高昂的主因之一。 隨著計算機革命的發展,不安全的編程方式已逐漸成為編程代價高昂的主因之一。 1.用構造器確保初始化 構造器:在創建對象時被自動調用的特殊方法. 構造器命名問題:1.所取得任何名字可能與類的某個成員命名沖突;2.調用構造器是編譯器的責任,所以應該讓編譯器知道該調用哪個方法. 構造器命名:與類名相同,所以每個方法首字...
摘要:對象創建與訪問指令雖然類實例和數組都是對象,但虛擬機對類實例和數組的創建和操作使用了不同的字節碼指令。異常處理指令在虛擬機中,處理異常語句不是由字節碼指令來實現的,而是采用異常表的方式。 《深入理解Java虛擬機:JVM高級特性與最佳實踐(第二版》讀書筆記與常見面試題總結 本節常見面試題(推薦帶著問題閱讀,問題答案在文中都有提到): 簡單介紹一下Class類文件結構(常量池主要存放的是...
閱讀 4276·2021-10-13 09:39
閱讀 482·2021-09-06 15:02
閱讀 3229·2019-08-30 15:53
閱讀 1040·2019-08-30 13:04
閱讀 2029·2019-08-30 11:27
閱讀 2010·2019-08-26 13:51
閱讀 2092·2019-08-26 11:33
閱讀 2902·2019-08-26 10:36