PHP中關鍵字static與self的使用區別

2021-08-26 02:25:16 字數 505 閱讀 2564

php中靜態關鍵字有static和self,那麼兩者的區別是什麼呢?

首先來看一下self的情況:

<?php

class a

public static function test()

}class b extends a }

a::test();//a

b::test();//a

再來看一下static的情況:

<?php

class a

public static function test()

}class b extends a }

a::test();//a

b::test();//b

static:如果在子類中重寫了父類中的static方法、屬性,父類就會去訪問了子類的static方法

self: 是類內指標,不管子類有沒有重寫過父類中的方法、屬性都指向本類的靜態方法、屬性

php中static關鍵字

很容易相當可以宣告類屬性或者類方法為靜態,靜態屬性和方法嗾使屬於類的,靜態屬性不能通過物件訪問,但靜態方法可以通過物件訪問。php中static變數只存在於本地函式中,但程式執行完本函式之後,static變數還會一直儲存,也即是 數執行 a 該變數只會被例項化一次。function test 都會輸...

this關鍵字 static關鍵字

1.當成員變數和區域性變數重名,可以用關鍵字this來區分 this 代表物件,代表那個物件呢?當前物件 this就是所在函式所屬物件的引用 簡單說 那個物件呼叫了this所在的函式,this就代表哪個物件 this也可以用於在建構函式中呼叫其他建構函式 注意 只能定義在建構函式的第一行,因為初始化...

static關鍵字與final關鍵字區別

static作用 1.修飾屬性 static關鍵字修飾的屬性為靜態屬性,與類相關,與類的例項無關,乙個類的不同例項共享乙個靜態屬性,訪問方式為類.屬性 2.修飾方法 被static修飾的方法稱為靜態方法,不能被重寫 3.修飾 塊 用於初始化靜態成員屬性 4.修飾類 修飾的類只能是內部類,普通類不能用...