Java核心技術 卷I 基礎知識 學習筆記(5)
阿新 • • 發佈:2018-12-04
參考:Java核心技術 卷I 基礎知識
反射庫提供了一個非常豐富且精心設計的工具集,以便編寫能夠動態操縱Java程式碼的程式。這項功能被大量地應用與JavaBeans中,它是Java元件的體系結構。
能夠分析類能力的程式成為反射。反射機制的功能極其強大,在下面可以看到,反射機制可以用來:
- 在執行時分析類的能力
- 在執行時檢視物件
- 實現通用的陣列操作程式碼
- 利用Method物件,這個物件很像C++中的函式指標。
反射是一種功能強大且複雜的機制。
在程式執行期間,Java執行時系統始終為所有的物件維護一個被稱為執行時的型別標識。這個資訊跟蹤著每個物件所屬的類。虛擬機器利用執行時型別資訊選擇相應的方法執行。
異常有兩種型別:未檢查異常和已檢查異常。對於已檢查異常,編譯器將會檢查是否提供了處理器。然後有很多常見的一場,例如,訪問null引用,都屬於未檢查異常。編譯器不會檢視是否為這些錯誤提供了處理器。畢竟,應該精心地編寫程式碼來避免這些錯誤的發生,而不要將經歷花在編寫異常處理上。
並不是所有的錯誤都是可以避免的。如果竭盡全力了還是發生了異常,編譯器就要求提供一個處理器。
繼承的設計技巧:
- 將公共操作和域放在超類
- 不要使用受保護的域
- 使用繼承實現"is-a"關係
- 除非所有繼承的方法都有意義,否則不要使用繼承
- 在覆蓋方法時,不要改變語氣的行為
- 使用多型,而非型別資訊
- 不要過多地使用反射