抽象
現(xiàn)實生活中的事物被抽象成對象盆偿,把具有相同屬性和行為的對象被抽象成類沥寥,再從具有相同屬性和行為的類中抽象出父類异吻。
封裝
隱藏對象的屬性和實現(xiàn)細節(jié)棚愤,僅僅對外公開接口条霜。
封裝具有一下優(yōu)點:
便于使用者正確肩杈、方便的使用系統(tǒng)径玖,防止使用者錯誤修改系統(tǒng)屬性瘪贱;
有助于建立各個系統(tǒng)之間的松耦合關(guān)系扬卷;
提高軟件的可重用性牙言;
降低了大型系統(tǒng)的風(fēng)險,即便整個系統(tǒng)不成功怪得,個別獨立的子系統(tǒng)有可能還有價值咱枉。
封裝的兩大原則:
把盡可能多的東西藏起來卑硫,對外提供簡潔的接口;
把所有的屬性封裝起來蚕断。
繼承
子類和父類之間的繼承關(guān)系欢伏,子類可以獲取到父類的屬性和方法。
注:關(guān)于子類能否繼承父類的私有方法亿乳?
從語言角度上說:JDK官方文檔明確說明子類不能繼承父類的私有方法颜懊;
但從內(nèi)存角度來說,jvm在實例化子類對象之前风皿,會先在內(nèi)存中創(chuàng)建一個父類對象河爹,然后在父類對象外部放上子類獨有的屬性,兩者合起來形成一個子類對象桐款。所以子類確實擁有父類所有的屬性和方法咸这,但是父類中的私有方法子類無法訪問。
多態(tài)
java語言允許某個類型的引用變量引用子類的實例魔眨,而且可以對這個引用變量進行類型轉(zhuǎn)換媳维。
————————————————
版權(quán)聲明:本文為CSDN博主「不浪漫的罪名LY」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議遏暴,轉(zhuǎn)載請附上原文出處鏈接及本聲明侄刽。
原文鏈接:https://blog.csdn.net/ji519974770/article/details/79676824