目錄
1. 向上轉型
2. 向下轉型
3. java的動態綁定機制:
4. Object類講解
5.? 斷點調試
1. 向上轉型
提前:倆個對象(類)存在繼承關系
本質:父類的引用指向了子類的對象
語法:父類 類型? ?引用名 = new 子類類型();
特點:
1. 編譯類型看左邊,運行類型看右邊。
2. 可以調用父類中的所有成員(遵循守訪問權限)
3. 不能調用子類中特有成員
4. 最終運行效果看子類的具體實現!
2. 向下轉型
語法 :子類 類型? ?引用名 = ?(子類類型)父類引用;
只能強轉父類的引用,不能強轉父類的對象
要求父類的引用必須指向的是當前目標類型的對象
當向下轉型? ? 可以調用子類類型中所有的成員?
注意細節:
屬性沒有重寫一說!屬性的值看編譯類型
instanceOf 比較操作符,用于判斷對象的運行類型是否為XX類型或XX類型的子類型。
3. java的動態綁定機制:
1. 當調用對象方法的時候,該方法會和對象的內存地址/運行類型綁定
2. 當調用對象屬性時,沒有動態綁定機制,哪里聲明,哪里使用
4. Object類講解
1. ==:即可以判斷基本類型,又可以判斷引用類型,判斷的地址是否相等,即判斷是不是同一個對象
2. equals:是object類中的方法,只能判斷引用類型。
3. hashCode方法:提高具有哈希結構容器的效率
4. toString方法:打印對象或拼接對象時,都會自動調用該對象的toString形式。當直接輸出一個對象時,toString就會默認的調用
5. finalize方法:當對象被回收時,系統自動調用該對象的finalize方法。子類可以重寫該方法,做一些釋放資源的操作。
5.? 斷點調試
1.? 在開發中,新手程序員在查找錯誤時,老程序員就會溫馨提醒,可以用斷點調式,一步一步的看源碼執行的過程,從而發現錯誤所在
2. 在斷點調式過程中,是運行狀態,是以對象的運行類型來執行的
介紹:
斷點調試在程序某一行設置一個斷點,調試時,程序運行到這一行就會停住,然后一步一步往下調試,調試會看到各個變量的值,出錯的話,調試到出錯代碼行即顯示錯誤,停下,分析找到bug。