php -- 類對象調用靜態方法


以前一直以為

靜態方法的調用:類名::靜態方法

非靜態方法的調用:類對象->非靜態方法

 

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

 

我還是太年輕....

 

在網上找到一些歸納:

類::靜態方法 //可以
類::非靜態方法  //不可以(雖然方法里不用$this關鍵字時,可以!但不支持這種寫法)
類對象->靜態方法   //可以
類對象->非靜態方法   //可以


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM