Java面向對象

到這裏爲止,Java前面的基礎知識我們已經說完了,接下來我們開始說Java面向對象的相關內容。首先來看幾個概念。

面向過程

要說面向對象,我們首先要弄明白麪向過程,之前我們所寫的代碼都是直接在主函數裏面書寫,它其實就是面向過程。

面向過程,核心是過程兩個字。過程即解決問題的步驟,它考慮的是實際地實現,針對一個特定的問題去思考其解決步驟。一般的面向過程是從上往下步步求精,所以面向過程最重要的是模塊化的思想方法。因此在模塊化編程的時候纔會有“低耦合,高內聚”的思想來提高效率。

面向對象

而面向對象也離不開面向過程。我們可以把面向過程當做面向對象每一部分的實現。就比如造一輛汽車,面向對象就是思考車是由什麼零件組成的,而每一個零件的製作就是一個個過程,要經過一道道程序才能做出來。因此,面向對象可以幫助我們從宏觀上掌握、分析整個系統。 但是,具體到實現部分的微觀操作(就是一個個過程),仍然需要面向過程去處理。

這就是面向對象和麪向過程之間的聯繫。簡單來說,面向對象就是從宏觀上來說所有的步驟,而面向過程就是每一個步驟的具體實現。

類就是具有相同行爲和特徵的一些具體事物的總稱。

對象

對象就是由一個類所描述的內容從而產生的一個具體的事物。

  • 關於對象的內存創建步驟

1.在堆內存中開闢一個空間並分配地址;

2.按照類的描述,在該空間中定義成員變量,並且有默認初始化值;

3.加載成員函數進入方法區(只加載一次);

4.對象創建完畢 將空間地址賦值給相應的變量;

5.變量調用成員變量;

          先通過該變量所存儲的地址去堆空間中找,然後在該空間中找相應的成員變量。

6.變量調用成員函數。

          直接去方法區中找該成員函數,將該函數加載進棧內存開始運行。爲了方便區分哪個對象調用的該成員函數,由this這個關鍵字段來進行區分。this主要存的是當前對象的地址。

PS:當成員函數在操作變量的時候 ,先在當前函數的空間裏找局部變量,如果沒有找到,再去this所指向的堆內存中對象所屬空間裏去找。

 

 

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