php 類物件呼叫靜態方法

2021-09-07 13:23:13 字數 387 閱讀 2223

以前一直以為

靜態方法的呼叫:類名::靜態方法

非靜態方法的呼叫:類物件->非靜態方法

最近研究乙個類,發現乙個比較奇怪的問題,用「類物件->靜態方法」這種方式居然成功的呼叫了靜態方法。很疑惑,還以為是該類中定義了__call魔術方法,在通過物件呼叫不到該靜態方法的時候,做了處理,通過類名呼叫了該方法。但是自己重新寫了乙個類,沒有__call方法,竟然也能通過類物件呼叫靜態方法,跟發現了新大陸一樣。

我還是太年輕....

在網上找到一些歸納:

類::靜態方法 //可以

類::非靜態方法  //不可以(雖然方法裡不用$this關鍵字時,可以!但不支援這種寫法)

類物件->靜態方法   //可以

類物件->非靜態方法   //可以

php 物件 呼叫靜態方法

1.bnf正規化 token t paamayim nekudotayim t paamayim nekudotayim 類名 靜態方法 function call class name t paamayim nekudotayim variable name function call param...

物件方法 靜態方法 類方法

1 例項方法 物件方法 例項方法或者叫物件方法,指的是我們在類中定義的普通方法。只有例項化物件後才可以使用的方法,該方法的第乙個引數接收的一定是物件本身。class people def hello self self表示物件本身 print hello word 2 靜態本身 1 格式 在方法上面...

物件呼叫靜態方法 C 中靜態成員 靜態方法 靜態類

平時在用c 做開發的朋友都知道,不論是靜態成員還是靜態方法還是靜態類都是用static關鍵字來修飾。也就是說只要看到了static,那麼它後面的東西就是靜態!在c 中,靜態成員或者靜態方法是屬於類的,不是屬於物件。假如我們有乙個類myclass,需要例項化這個 類,就應該這麼做 myclass my...