Java入門——深入理解Java三大特性


Java入門——深入理解Java三大特性


本Blog內容:

  1. 封裝
  2. 繼承
  3. 多態

封裝

  1. 封裝把一個對象的屬性私有化,同時提供一些可以被外界訪問的屬性的方法(getter,setter),如果不想被外界方法,我們大可不必提供方法給外界訪問。
  2. 封裝確實可以使我們容易地修改類的內部實現,而無需修改使用了該類的客戶代碼
  3. 可以對成員變量進行更精確的控制。(在setter方法中進行實際意義的校驗)

總結:控制屬性訪問權限,不是你想改就能改。容易修改屬性類型。精確控制屬性的取值范圍。

 


 繼承

  1. 繼承是使用已存在的類的定義作為基礎建立新類的技術,新類的定義可以增加新的數據或新的功能,也可以用父類的功能,但不能選擇性地繼承父類。
  2. 子類擁有父類非private的屬性和方法。 
  3. 子類可以擁有自己屬性和方法,即子類可以對父類進行擴展。
  4. 子類可以用自己的方式實現父類的方法。

  <構造器><protected關鍵字><向上轉型>是三個不得不提的詞

  1. 構造器:除了private之外,還有一些是子類不能繼承的。比如:構造器只能被調用,而不能被繼承。調用父類只要使用super()即可。子類會默認調用父類的默認構造器,如果沒有默認構造器,就必須顯式指出構造器。
  2. protected:對於protected而言,它指明就類用戶而言,他是private,但是對於任何繼承與此類的子類而言或者其他任何位於同一個包的類而言,他卻是可以訪問的。 
  3. 向上轉型: 將子類轉換成父類,在繼承關系上面是向上移動的,所以一般稱之為向上轉型。由於向上轉型是從一個叫專用類型向較通用類型轉換,所以它總是安全的,唯一發生變化的可能就是屬性和方法的丟失。這就是為什么編譯器在“未曾明確表示轉型”活“未曾指定特殊標記”的情況下,仍然允許向上轉型的原因。
  4. 問一問自己是否需要從子類向父類進行向上轉型。如果必須向上轉型,則繼承是必要的,但是如果不需要,則應當好好考慮自己是否需要繼承。 

 


 

多態

  1. 多態就是指程序中定義的引用變量所指向的具體類型和通過該引用變量發出的方法調用在編程時並不確定,而是在程序運行期間才確定,即一個引用變量倒底會指向哪個類的實例對象,該引用變量發出的方法調用到底是哪個類中實現的方法,必須在由程序運行期間才能決定。因為在程序運行時才確定具體的類,這樣,不用修改源程序代碼,就可以讓引用變量綁定到各種不同的類實現上,從而導致該引用調用的具體方法隨之改變,即不修改程序代碼就可以改變程序運行時所綁定的具體代碼,讓程序可以選擇多個運行狀態,這就是多態性。

  2. 指向子類的父類引用由於向上轉型了,它只能訪問父類中擁有的方法和屬性,而對於子類中存在而父類中不存在的方法,該引用是不能使用的,盡管是重載該方法。若子類重寫了父類中的某些方法,在調用該些方法的時候,必定是使用子類中定義的這些方法(動態連接、動態調用)。


 

   Java的三大特性是Java開發中最基礎也是最重要的概念,對這三個概念的理解只能越來越深入,但是絕對沒有盡頭。尤其要注意自己的心態,絕對不能急躁,要在最簡單的問題上耐得住性子,思考思考再思考,真正內化於心。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM