1. 程式人生 > >Java核心技術 卷I 基礎知識 學習筆記(5)

Java核心技術 卷I 基礎知識 學習筆記(5)

參考:Java核心技術 卷I 基礎知識

反射庫提供了一個非常豐富且精心設計的工具集,以便編寫能夠動態操縱Java程式碼的程式。這項功能被大量地應用與JavaBeans中,它是Java元件的體系結構。

能夠分析類能力的程式成為反射。反射機制的功能極其強大,在下面可以看到,反射機制可以用來:

  • 在執行時分析類的能力
  • 在執行時檢視物件
  • 實現通用的陣列操作程式碼
  • 利用Method物件,這個物件很像C++中的函式指標。

反射是一種功能強大且複雜的機制。

在程式執行期間,Java執行時系統始終為所有的物件維護一個被稱為執行時的型別標識。這個資訊跟蹤著每個物件所屬的類。虛擬機器利用執行時型別資訊選擇相應的方法執行。

異常有兩種型別:未檢查異常和已檢查異常。對於已檢查異常,編譯器將會檢查是否提供了處理器。然後有很多常見的一場,例如,訪問null引用,都屬於未檢查異常。編譯器不會檢視是否為這些錯誤提供了處理器。畢竟,應該精心地編寫程式碼來避免這些錯誤的發生,而不要將經歷花在編寫異常處理上。

並不是所有的錯誤都是可以避免的。如果竭盡全力了還是發生了異常,編譯器就要求提供一個處理器。

繼承的設計技巧:

  • 將公共操作和域放在超類
  • 不要使用受保護的域
  • 使用繼承實現"is-a"關係
  • 除非所有繼承的方法都有意義,否則不要使用繼承
  • 在覆蓋方法時,不要改變語氣的行為
  • 使用多型,而非型別資訊
  • 不要過多地使用反射