黑馬程序員——面向對象

------- <a href="http://www.itheima.com" target="blank">android培訓</a>、<a href="http://www.itheima.com" target="blank">java培訓</a>、期待與您交流! ----------

面向對象

面向對象是相對面向過程而言

面向過程強調的是行爲步驟,面向對象強調的是將行爲以對象的形式進行封裝,然後對對象進行操作。

Java通過創建類再用類建立對象。

類是某一類對象的抽象描述,對象是類的實例化。

面向對象程序設計的特點:繼承、多態和封裝。

繼承:用父類派生出子類,子類具有父類的非私有成員變量和成員方法。關鍵字extends

多態:不同的子類重寫父類的某個方法,通過調用父類中該方法可實現調用所有子類中相應的方法。

封裝:類將對象的屬性和行爲封裝起來,對客戶暴露一定的接口,隱藏其實現細節。


權限修飾符:

修飾類———只能用public (共用)、abstract(抽象)、  final(終態)。

當不加修飾符時表示該類具有包存取範圍。

修飾成員變量和成員方法————public、private、protected

訪問包位置

類修飾符

Private

Protected

Public

本類

可見

可見

可見

同包其他類或子類

不可見

可見

可見

其他包的類或子類

不可見

不可見

可見


局部變量的聲明週期和作用域:局部變量在方法被執行時創建,方法執行結束被銷燬。

複合語句內部定義的局部變量的作用域只在複合語句內部,在互相嵌套的區域定義同名同類型的變量視爲重複定義,是錯誤。

this關鍵字:java中this代表本類對象的引用。

構造方法:

構造方法是類實例化創建對象時調用的函數,構造方法沒有返回值,定義時也不用寫void,構造方法可以有多個重載形式,如果定義類時未定義構造方法,編譯器會隱式定義一個無參的構造方法。

在構造方法中用this調用其它構造方法時,該語句應寫在方法的第一句,用super調用父類構造方法時,也應寫在方法第一句。

靜態:

靜態成員和靜態方法是在類加載時創建的,可不同過對象直接調用。靜態代碼塊在類加載時執行一次,之後不再執行。

在靜態方法中不能調用非靜態成員和方法。

對象創建

在聲明瞭一個引用而未創建該對象時,該引用只是一個值爲null未指向任何對象的空引用,不能對其調用對象方法,否則會發生空指針異常。

引用存在於棧內存中,對象存在於對內存。

對象比較

“==”比較的是兩個對象是不是同一個對象。

equals方法要看要比較的對象中equals方法是怎麼寫的。

對象銷燬

當某個對象不再被任何引用指向時,該對象視爲垃圾,由java的垃圾回收機制進行銷燬。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章