九 物件導向 補

2021-10-17 06:41:34 字數 2454 閱讀 8295

this關鍵字表示當前物件本身,一般用於類的內部,其內部存在乙個位址,指向當前初始化的物件本身.

new 乙個物件時,其實產生了兩個引用,兩個引用執行同一記憶體空間(物件) 所以類中用this來表示當前物件,因為不用this,我們是不知道在建立物件時具體的物件名的

1.呼叫成員變數

用於解決成員變數與區域性變數之間二義性

2.呼叫其他例項方法

同一類中非static方法互調

3.呼叫本類其他構造方法

可以呼叫本類的其他構造方法,但是必須寫在第一句

public

person

(string name, string gender)

public

person

(string name,

int age ,string gender)

靜態方法的訪問

1.類名.靜態方法(

)(推薦方法)

2.物件.靜態方法(

)

靜態方法的特性

靜態方法中可以訪問靜態變數和類的其他靜態方法

例項方法中可以訪問靜態成員(靜態變數和靜態方法),靜態方法不能訪問例項成員

jvm載入static成員過程

1.當載入乙個類時,會進行到靜態區/方法區 ,jvm掃瞄類名.

class位元組碼檔案中的 靜態成員並分配空間初始化

2.jvm載入完class

2.1.

讀取位元組碼,讀取字段,計算字段未來需要申請的空間

2.2.讀取位元組碼,讀取方法,標記方法簽名

2.3.讀取位元組碼,判斷是否有靜態變數,有,立即分配記憶體空間

3.由於static成員是先載入的,所有靜態方法不能訪問例項成員,原因很簡單,因為靜態方法先載入,這時候例項方法還沒沒建立,所有也就無法訪問了,返回來,物件的例項方法是可以訪問靜態成員的

{} 標記的**稱為**塊

普通**塊{},一般存在於方法中,形成作用域

作用域:

作用域可以進行巢狀,內層作用域可以訪問外層作用域,反之則不能
構造**塊在類中(類的內部,方法外),構造**塊,每new乙個物件都會執行一次,在構造方法前執行

被static修飾的**塊

靜態**塊位於類的內部、方法的外部。 靜態**塊只執行一次,在構造**塊、構造方法前執行

乙個檔案可以定義多個類,但是只能存在乙個public類,有多少個類,就存在多少份位元組碼

public

class

person

class

student

public

class

outer

}

outer和inner是包含關係。outer稱為外部類,inner稱為內部類。

內部類inner作為乙個outer的成員而存在。

內部類inner作為外部類的乙個成員而存在,inner稱為成員內部類。沒有使用static修飾的內部類,訪問內部類使用外部類的物件來訪問

一般成員內部類的訪問修飾符都是預設訪問許可權(包訪問許可權)

//定義內部類

public

class

outer

}//建立物件

public

static

void

main

(string[

] args)

成員內部類可以直接訪問 外部類的 私有成員

成員內部類被static修飾,變成了靜態內部類,作為外部類的乙個靜態成員存在

public

class

outer

}

靜態內部類可以訪問 外部類的 靜態私有成員

方法內部類只能存在於方法中,也只能在方法中建立物件

方法內部類特性

方法內部類可以讀取 方法的區域性變數,但不能修改。

當乙個類只使用一次,可以宣告匿名內部類

但是匿名內部類必須要有實現存在

public

class

test01};

animal.

showinfo()

;

new

iusb()

}.showinfo()

;

PHP 物件導向(九)

1 物件描述的配置 方法名 tostring 我們可以直接列印物件控制代碼,從而獲得該方法的基本資訊或其他內容。class my p new my echo p 輸出結果 我所要顯示的內容 2 物件方法的異常處理 方法名 call funname,arr value 呼叫一些不存在的物件方法的異常處...

php物件導向程式設計九

1 物件描述的配置 方法名 tostring 我們可以直接列印物件控制代碼,從而獲得該方法的基本資訊或其他資訊 class my p new my echo p 輸出 sssssssss 2 物件方法的異常處理 方法名 call funnam,arr value 呼叫一些不存在的物件方法的異常處理,...

九 物件導向 內部類

乙個類定義在另乙個類的內部,前者稱之為內部類,後者稱之為外部類。內部類一般用在定義它的類和語句塊內,在外部使用它時需要給出完整的名稱,且不可以與外部類的名稱相同。使用場景為當乙個事物的內部,還有乙個部分需要乙個完整的結構進行描述,而這個內 部的完整的結構又只為外部事物提供服務,那麼整個內部的完整結構...