封裝:是面向對象方法的重要原則,就是把對象的屬性和行爲(數據)結合爲一個獨立的總體,並儘量隱藏對象的內部實現細節,就是把不想告訴或者不應告訴別人的東西隱藏起來,把能夠告訴別人的公開,別人只能用我提供的功能實現需求,而不知道是如何實現的。增長安全性java
繼承:是面向對象最顯著的一個特性,繼承是從已有的類中派生出新的類稱爲子類,子類繼承父類的數據屬性和行爲,並能根據本身的需求擴展出新的行爲,提升了代碼的複用性。安全
多態:指容許不一樣的對象對同一消息作出相應。即同一消息能夠根據發送對象的不一樣而採用多種不一樣的行爲方式(發送消息就是函數調用)。封裝和繼承幾乎都是爲多態而準備的,在執行期間判斷引用對象的實際類型,根據其實際的類型調用其相應的方法。函數
抽象:表示對問題領域進行分析、設計中得出的抽象的概念,是對一系列看上去不一樣,可是本質上相同的具體概念的抽象,在java中抽象用 abstract 關鍵字來修飾,用 abstract 修飾類時,此類就不能被實例化,從這裏能夠看出,抽象類就是爲了繼承而存在的,若是定義了一個抽象類而不去繼承它,那麼等於白白建立了這個抽象類,由於你不能用它來作任何事情,用 abstract 修飾方法時,此方法就是抽象方法,抽象方法必須存在於抽象類中,抽象方法沒有方法體,對於一個父類來講,若是它的某個方法在父類中實現出來沒有任何意義,必須根據子類的實際需求來進行不一樣的實現,那麼就能夠將這個方法聲明爲抽象方法,抽象方法的修飾符必須爲 public 或者 protected ,應爲用 private,則不能被子類繼承,子類便沒法實現該方法,缺省狀況下默認爲 public 。設計