面向對象三大特徵:
封裝性
繼承性
多態性
1. 封裝性
所謂封裝,也就是把客觀事物封裝成抽象的類,而且類能夠把本身的屬性和方法只給特定的對象或其餘類進行訪問,即便用不一樣的訪問統治權限使類被不一樣的對象訪問,類中的方法屬性也可單獨使用訪問控制權限進行修飾。
簡而言之就是,使類對外部保持整潔,只留有主要的接口進行類業務邏輯的使用。
沒有進行封裝的類,以下所示:
進行了封裝的類:設計

2. 繼承性
繼承是指這樣一種能力:它可使用現有類的全部功能,並在無需從新編寫原來的類的狀況下對這些功能進行擴展。
繼承的主要做用在於:在已有功能基礎上進行功能的擴充,對類進行擴充,代碼的複用。
3. 多態性
所謂多態就是指一個類實例的相同方法在不一樣情形有不一樣表現形式。多態機制使具備不一樣內部結構的對象能夠共享相同的外部接口。(利用多態能夠獲得良好的設計)
多態表現爲如下兩點:
方法的多態
方法的重載:
同一個方法名能夠根據參數數量和類型的不一樣重載爲不一樣的方法。
方法的覆寫:
同一個父類的方法,不一樣的子類實例化,其方法的實現也可能不一樣。
對象的多態
對象的多態主要體如今抽象類和接口,可分爲向上轉型和向下轉型。
向上轉型:
SuperObj superName = new ChildObj();1
發生向上轉型通常是爲了參數的統一。
向下轉型:
ChildObj childName = new SuperObj();1
發生向下轉型通常是爲了獲得子類擴充的方法。
而向上轉型和向下轉型的本質其實就是方法的覆寫。若是子類沒有對父類進行方法的覆寫,也就不存在對象的多態。