Java系列學習(七)-物件導向

來源:互聯網
上載者:User

標籤:

1.成員變數和局部變數的區別

(1)在類中的位置不同

成員變數:類中 方法外

局部變數:方法中

(2)在記憶體中的位置不同

成員變數:在堆中

局部變數:在棧中

(3)生命週期不同

成員變數:隨著對象的建立而存在,隨著對象得到消失而消失

局部變數:隨著方法的調用而存在,隨著方法的調用完畢而消失

(4)初始化值不同:

成員變數:有預設值

局部變數:沒有預設值,必須定義,賦值,然後才能使用

2.匿名對象

(1)沒有名字的對象

(2)應用情境:

A:調用方法,僅僅只調用一次的時候

B:可以作為實際參數傳遞

3.private關鍵字

(1)私人的意義:

可以修飾 成員變數 和 成員方法

(2)特點:

被private修飾後的成員 只能在本類中被訪問

(3)private的應用:

把所有的成員變數給private了,提供對應的getXxx()/setXxx()方法

4.this關鍵字

(1)代表當前類的引用對象

(2)this的應用情境

5.構造方法

(1)作用:

用於對對象的資料進行初始化

(2)格式:

A:方法名 和 類名 相同

B:沒有傳回值類型,連void都不能有,所有的方法其實都可以有 【return;】

C:沒有傳回值

(3)構造方法的注意事項

A:如果我們沒寫構造方法,系統將提供一個預設的無參數的構造方法

B:如果我們給出了構造方法,系統將不再提供一個預設的構造方法

(4)給成員變數賦值的方法

A:setXxx()

B:帶參數的構造方法

6.static關鍵字的理解

(1)靜態意思:

可以修飾成員變數 和成員方法

(2)靜態特點:

A:隨著類的載入而載入

B:優先於對象存在

C:被類的所有對象共用

D:可以通過類名調用

(3)靜態記憶體配置圖

靜態內容在方法區的靜態區

(4)靜態注意事項:

A:在靜態方法中沒有this對象

B:靜態只能 訪問靜態

(5)靜態變數和成員變數的區別

A:所屬不同:

【靜態變數:屬於類,類變數】

【成員變數:屬於對象,物件變數,執行個體變數】

B:記憶體位置不同:

【靜態變數:方法區的靜態區】

【成員變數:堆記憶體】

C:生命週期不同:

【靜態變數:靜態變數是隨類的載入而載入,隨著類的消失而消失】

【成員變數:成員變數是隨對象的建立而存在,隨著對象的消失而消失】

D:調用方式不同:

【靜態變數:可以通過對象名調用,也可以通過類名調用】

【成員變數:只能通過對象名調用】

7.main方法的理解

public:許可權最大

static:不用建立對象就可以調用

void:return是返回給調用者的,返回給jvm沒有意義

main:就是一個常見的名稱(很多語言是以main為起點的)

String[] args:可以接受 資料,提供者的靈活性,現在有Scanner更強大

8.建立對象的過程

分析:

1.把Student.class檔案載入到記憶體,在棧記憶體為stu開闢空間,開始壓棧

1.1在堆記憶體中 為Student對象申請空間

1.2該堆記憶體中 有個指向方法區的地址,裡麵包含了Student類中的方法

2.準備調用setName(String sName)方法,把setName()壓棧,調用結束後,出棧

3.準備調用getName()方法,把getName()壓棧,調用結束後,出棧

4.準備調用SayHi(String sName)方法,把SayHi(String sName)壓棧,調用結束後,出棧

5.結束main()的調用,main()出棧

Java系列學習(七)-物件導向

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.