this和構造器的記憶體分析( )

2022-08-10 13:36:17 字數 693 閱讀 7029

p.p1

p.p2

this的含義:

1.區分成員變數和區域性變數;

2.誰呼叫這個this就指向誰;

public

class

person

public

intgetage()

public

void

eat()

public

static

void

main(string args)

}

this的記憶體分析:

1.說明: 普通方法和main要入棧記憶體,堆中存放new的物件。

2.說明:首先main方法是程式入口,並且它在棧記憶體中,此時

person p就在棧中,而new person()在堆中,且初始狀態下,

堆記憶體位址為111,則棧中person p也有該位址值並指向堆中

物件new person()。當執行到「p.setage(10);」這個方法時,

this.age=age;<==>p.age=age;並將堆中age=0改為age=10;

執行到「system.out.println(p.getage);」這裡的時候就直接調

用了p.age方法,並從堆中獲取該值,eat方法分析類似。

會在棧中銷毀。

構造器的記憶體分析:未完待補充

構造器概述和預設構造器

在建立某個物件的時候,如下 student s1 new student 這個 特別像在呼叫乙個方法名稱為student的無引數方法 我們將這種特殊的方法稱之為構造方法,構造器 constructor 但在student類中,又找不到該構造方法卻又不報錯 編譯器在編譯原始檔的時候,會建立乙個預設的構...

C 中的預設構造器和過載構造器

使用 new 關鍵字建立乙個物件時,runtime 必須使用那個類的定義來構造物件,runtime 必須從作業系統申請乙個記憶體區域,在其中填充由類定義的字段,然後呼叫乙個構造器執行必須的任何初始化工作。構造器 constructor 是一種特殊方法 method 它在建立類的乙個例項時自動執行。它...

語法分析器構造 詞法分析器構造實驗

借助於詞法分析程式提供的分析結果,編寫乙個算符優先語法分析程式,程式能進行語法結構分析和錯誤檢查,並產生相應的歸約資訊。同時給出出錯資訊和錯誤型別,從而加深對語法分析的理解。二 實驗內容 給定文法g和算符優先分析法,構造其算符優先分析程式。文法g 語句 賦值語句 條件語句 轉移語句 帶標號的賦值語句...