OOP是面向對象編程Object Oriented Programming,特徵分別是封裝、繼承、多態、抽象。
封裝:封裝是指將對象信息狀態經過訪問權限修飾符隱藏在對象內部,不容許外部程序直接訪問,若是外部程序要訪問對象內部,能夠調用內部提供的get或set方法。簡單來講,封裝就是要找出某一類事務的公性而後提取出來。
繼承:子類繼承了父類全部的成員方法和屬性,而且能夠擁有本身特性。繼承解決了代碼的重用問題
多態:多態存在的三個條件1.繼承2.重寫3.父類引用指向子類對象
多態的實現方式1.接口實現,繼承父類方法重寫,同一個類中進行重載
重載:多個同名函數同時存在,具備不一樣的參數個數/類型,返回值類型能夠相同可
以不一樣,調用方法時經過傳遞給它們的不一樣參數個數和參數類型來決定具體使用哪一個方法, 這就是多態性,存在於父類和子類、同類中
重寫:1.參數列表必須徹底與被重寫的方法相同
2.返回的類型必須一直與被重寫的方法的返回類型相同
3.訪問修飾符的限制必定要大於被重寫方法的訪問修飾符
4.重寫方法必定不能拋出新的檢查異常或者比被重寫方法申明更加寬泛的檢查型異常
5.存在於父類和子類之間,方法被定義爲final不能被重寫。
抽象:若是一個類含有抽象方法,則稱這個類爲抽象類,抽象類必須在類前用abstract關鍵字修飾。由於抽象類中含有無具體實現的方法,因此不能用抽象類建立對象。
抽象方法必須爲public或者protected(由於若是爲private,則不能被子類繼承,子類便沒法實現該方法),缺省狀況下默認爲public。編程